当前位置: 首页 > 软件库 > 开发工具 > >

unused

检查Go代码未使用的常量变量等
授权协议 BSD
开发语言 Google Go
所属分类 开发工具
软件类型 开源软件
地区 国产
投 递 者 祖奇
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

unused是用来检查Go代码未使用的常量,变量,函数和类型的。

安装

go get honnef.co/go/unused/cmd/unused

用法

unused -hel

示例

$ time unused cmd/go
/usr/lib/go/src/cmd/go/generate.go:375:21: identLength is unused
/usr/lib/go/src/cmd/go/testflag.go:278:6: setIntFlag is unused
/usr/lib/go/src/cmd/go/pkg.go:688:2: toRoot is unused
/usr/lib/go/src/cmd/go/get.go:513:6: cmpGoVersion is unused
/usr/lib/go/src/cmd/go/main.go:406:5: logf is unused
/usr/lib/go/src/cmd/go/main.go:431:6: runOut is unused
/usr/lib/go/src/cmd/go/build.go:1327:6: hasString is unused
/usr/lib/go/src/cmd/go/build.go:2328:6: toolVerify is unused
./unused cmd/go  3.38s user 0.23s system 451% cpu 0.801 total
$ time unused $(go list github.com/prometheus/prometheus/… | grep -v /vendor/)
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/scrape.go:41:2: ingestedSamplesCap is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/scrape.go:49:2: errSkippedScrape is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/target.go:186:18: report is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/discovery/serverset.go:33:2: serversetNodePrefix is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/discovery/dns.go:39:2: interval is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/retrieval/discovery/nerve.go:31:2: nerveNodePrefix is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/remote/opentsdb/client.go:40:2: illegalCharsRE is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:86:34: add is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:197:34: clone is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:204:34: firstTime is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:224:34: marshal is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:241:34: marshalToBuf is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/doubledelta.go:281:34: encoding is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:79:28: add is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:191:28: clone is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:198:28: firstTime is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:216:28: marshal is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:233:28: marshalToBuf is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/storage/local/delta.go:273:28: encoding is unused
/home/dominikh/prj/src/github.com/prometheus/prometheus/promql/parse.go:968:8: ctx is unused
./unused -v $(go list github.com/prometheus/prometheus/… | grep -v /vendor/  5.17s user 0.42s system 566% cpu 0.989 total
  •    昨天业务部反应需要删除某个表的字段,思考了下将字段设置为unused状态,如果需要使用很方便恢复。今天早上发现OGG数据复制有故障,主库EXTRACT进程出现ABENDED状态,数据不同步。从OGG日志查看是字段UNNUSED的问题。 日志异常 2015-07-25 09:08:50  WARNING OGG-00455  Oracle GoldenGate Capture for Orac

  •        有时候,有些列不需要使用了,但是在业务高峰期,删除列是会锁表的,我们可以采用将列设置为unused的方法,这样,用户就看不到这些设置为unused的列,达到了我们想要的结果,但实际上并没有删除,而只是做了个标记,也不会锁表。         这样,在业务空闲的时间,再将这些列删除(比如: 晚上),或者,过后又不想再删除了,也可以恢复,但恢复的方法比较复杂一些,并且需要重启数据库。 S

  • 迭代式列定义: drop和unused的使用: 直接删除列会影响性能,先unused再在系统不忙时drop unused对系统性能不会有什么影响; drop: alter table table_name drop column col_1; alter table table_name drop (col_1,col_2);--删除多列时要这么写 alter table table_name d

  • SET UNUSED的用法原理:清楚掉字典信息(撤消存储空间),不可恢复。 可以使用 SET UNUSED 选项标记一列或者多列不可用。 使用DROP SET UNUSED 选项删除被被标记为不可用的列。 语法: ALTER TABLE table SET UNUSED (COLlist多个) 或者 ALTER TABLE table SET UNUSED COLUMN col单个; ALTER

  • 单片机型号:STM32F091RCT6 使用C语音在PlatformIO中进行STM32Cube的工程设计,一切正常,希望使用C++语音进行程序开发,顾将main.c文件改为main.cpp文件,再次编译报如下警告: In file included from C:\users\snmplink\.platformio\packages\framework-stm32cube\f0\Drivers

  • Oracle set unused的用法 SET UNUSED的用法原理:清楚掉字典信息(撤消存储空间),不可恢复。可以使用SET UNUSED选项标记一列或者多列不可用。使用DROP SET UNUSED选项删除被被标记为不可用的列。语法:ALTER TABLE table SET UNUSED (COLlist多个)或者ALTER TABLE table SET UNUSED COLUMN c

  • 如果在使用 R 语言时出现 "unused argument" 的错误提示,通常是因为在调用函数时传入了多余的参数。为了解决这个问题,你需要检查你的代码,确保你只传入了函数所需的参数。 例如,如果你调用的函数只有两个参数,但你却传入了三个参数,那么 R 会报出 "unused argument" 的错误提示。在这种情况下,你需要检查你的代码,确保只传入了两个参数。 如果你仍然无法解决问题,可以尝试

  • 一、问题 现场有一张大数据量的分区表,数据量在10G以上。因某种原因需要删除其中的某些字段。如果直接用 alter table1 drop (column1,column2); 或者alter table1 drop column column1;和alter table1 drop column column2; 的话,需要执行很长时间,这期间该表被锁,会影响到其它应用。 二、解决方法 使用se

  • 一、問題 現場有一張大數據量的分區表,數據量在10G以上。因某種原因需要刪除其中的某些字段。如果直接用 alter table1 drop (column1,column2); 或者alter table1 drop column column1;和alter table1 drop column column2;  的話,需要執行很長時間,這期間該表被鎖,會影響到其它應用。 二、解決方法 使用s

  • Q_UNUSED 的使用 在构建比较大型的工程的时候,若继承,重构虚函数,写数据model等等比较多的时候,会给出大量的 “未引用的形参” ,“warning: unused parameter ” 的告警。这种告警多了会影响看出真正有问题的地方。 例如:warning C4100: “parent”: 未引用的形参 这是可以在 该函数里面使用: Q_UNUSED (parent) 来去掉这种告警

  • “extends”: "eslint:recommended"配置文件中的属性启用此规则。 **在代码中任何地方声明和不使用的变量很可能是由于重构不完全导致的错误。**这些变量在代码中占用空间,可能会导致读者混淆。 规则细节 该规则旨在消除未使用的变量,函数和函数的参数。 如果以下任一情况属实,则认为使用变量: 它代表一个被称为(doSomething())的函数, 它被读取(var y = x)

  • 第一种方法 #define UNUSED(x) (void)x void SomeFunction(int param1, int param2) { UNUSED(param2); // do stuff with param1 }

  • Unused import statement 原因:maven项目的pom文件出现了问题 方法:检查并重新加载你的pom文件

  • set unused的用法(ORACLE刪除字段) 一、問題 現場有一張大數據量的分區表,數據量在10G以上。因某種原因需要刪除其中的某些字段。如果直接用 alter table1 drop (column1,column2); 或者alter table1 drop column column1;和alter table1 drop column column2; 的話,需要執行很長時間,這期間

  • 错误: 变量‘xxx’被设定但未被使用 [-Werror=unused-but-set-variable] warning: variable set but unused - C++ Forum 出现这个警告的原因可能是,基本上,你移除这个变量也不会对你的程序造成什么影响。 warning: variable 'ret' set but not used [-Wunused-but-set-va

 相关资料
  • Go 代码检查 统计代码行数 推荐我开发的开源软件--artHummer,目前只是简单的统计代码,后续可能开发更加复杂的功能。 go report 如果您的代码是放在github上面的,可以登录go report 进行代码扫描。 gofmt 整理代码 gofmt -l -w -s *.go gofmt -r '(a)->a' -l -w *.go go tool vet 这个

  • 变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据。变量包含的信息被称为变量的值。变量使用用户便于理解脚本操作的名称为用户提供了一种存储、检索和操作数据的途径。 声明和命名变量 命名和声明变量应遵循脚本语言的规则及指导。即使在使用变量前不需要去声明变量,也应养成在编程时声明变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉脚本引擎,有一个特定名称的变量,这样就可以在脚

  • Go是静态类型语言,变量是有明确类型的。编译器会检查函数调用中,变量类型的正确性。 使用var关键字来定义变量。 Go 的基本类型有: bool string int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr byte // uint8 的别名 rune // int32 的别名 代表一个Unicode码 floa

  • Go支持定义字符常量,字符串常量,布尔型常量和数值常量。 使用const关键字来定义常量。 package main import "fmt" import "math" // "const" 关键字用来定义常量 const s string = "constant" func main() { fmt.Println(s) // "const"关键字可以出现在任何"var"关键字

  • 问题内容: 我遇到这种奇怪的行为,但无法解释。这些是基准: 与使用变量分配进行比较,为什么比使用带有临时变量的班轮快27%以上呢? 通过Python文档,垃圾回收在timeit期间被禁用,因此并非如此。这是某种优化吗? 结果也可以在Python 2.x中重现,尽管程度较小。 运行Windows 7,CPython 3.5.1,Intel i7 3.40 GHz,64位OS和Python。似乎我尝试

  • 我在JMeter中有一个Config元素,特别是用户定义的变量。 我有变量用户与值贾斯汀,我怎么能在groovy代码(一个JSR223断言)中使用这个变量?

  • Jekyll 会遍历你的网站搜寻要处理的文件。任何有 YAML 头信息的文件都是要处理的对象。对于每一个这样的文件,Jekyll 都会通过 Liquid 模板工具来生成一系列的数据。下面就是这些可用数据变量的参考和文档。 全局(Global)变量 变量 说明 site 来自_config.yml文件,全站范围的信息+配置。详细的信息请参考下文 page 页面专属的信息 + YAML 头文件信息。通

  • Upon each invocation of the PHP application, Smarty tests to see if the current template has changed (different time stamp) since the last time it was compiled. If it has changed, it recompiles that t