tool chain
go vet
go vet
是 golang 官方自带的代码静态检查工具, 可以帮助程序员检查出编译不会出错但有 bug 的代码
用法
go vet [./path/to/package 相对路径
| path/to/gopath 能访问到的 package
| path/to/package 的绝对路径
]
分析器
go vet 自带多个分析器, 遍历入参的目录/文件, 执行每个分析器, 找出代码的问题
分析器有(可以通过 go tool vet help 看到):
- 语义错误
bools
, ex:if a == 1 && a == 0
if a == 1 && a == 1
ifaceassert
, ex:var itf interface{ Read() } newPtr := itf.(io.Reader)