日常开发中,想要保证工程中代码能够正常运行, 一般都会使用vet进行代码静态扫描, 但是每次手动执行命令有点不太方便,如果在每次开发完成之后,git提交的时候都进行下检查就OK了,想好就干!!!
这里使用golangci-lint这个包: https://golangci-lint.run
golangci-lint
是一个代码检查工具的集合,聚集了多种 Go 代码检查工具,如 golint
、go vet
等。
优点:
- 运行速度快
- 可以集成到 vscode、goland 等开发工具中
- 包含了非常多种代码检查器
- 可以集成到 CI 中
涉及linter: https://golangci-lint.run/usage/linters/
[安装]
# binary will be $(go env GOPATH)/bin/golangci-lint curl -sSfL https://raw.githubusercontent.com/Goci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.42.1 golangci-lint --version
更多命令:
# 查看版本 golangci-lint version # 查看linter golangci-lint help linters # 执行检查操作, 可指定目录 golangci-lint run [dir ...] # golangci-lint 可以通过 -E/--enable 去开启指定 linter,或者 -D/--disable 禁止指定 linter。 1golangci-lint run --disable-all -E errcheck 如上命令代表的就是除了 errcheck 的 linter,禁止其他所有的 linter 生效。 # golangci-lint 还可以通过 -p/--preset 指定一系列 linter 开启。 1golangci-lint run -p bugs -p error 如上命令代表的就是所有属于 bugs 和 error 分类的 linter 生效。 更多可以 golangci-lint run -h