[Go] 代码规范检查工具GolangCI-Lint
Contents
GolangCI-Lint 是Go的代码规范检查工具。
`GolangCi-Lint功能特点:
- 非常快:并行运行 linters,重用 Go 构建缓存和缓存分析结果。
- 基于 Yaml 的配置.
- 与 VS Code、Sublime Text、GoLand、GNU Emacs、Vim、Atom、GitHub Actions 集成。
- 包含大量 linter,无需安装它们。
- 由于调整的默认设置,误报次数最少。
- 带有颜色的漂亮输出, 源代码行和标记的标识符。
Lint 配置文件
GolangCI-Lint
从当前工作目录中查找如下配置文件,也可以使用-c
选项指定:
- .golangci.yml
- .golangci.yaml
- .golangci.toml
- .golangci.json
GolangCI-Lint
还会在所有目录中搜索配置文件,从第一个分析路径的目录到根目录。
如果未找到配置文件,GolangCI-Lint
将尝试在主目录中查找一个配置文件。
要查看正在使用的配置文件以及它的来源,可使用 -v
选项运行 golangci-lint。
配置选项
|
|
主要分为6个配置选项:
- run 运行分析配置,比如超时,忽略文件等
- output 输出配置,比如格式
- linters-settings 检测器配置,对具体的检测器细化配置
- linters 开启关闭检测器
- issues 检测器输出报告配置,比如忽略某些检测器的输出
- severity 检测器敏感度配置
Lint 常见问题及解决方案
依赖包顺序
依赖包的顺序为:标准库包、第三方依赖包、本项目自定义包。
执行 gofmt -s -w ${xxx.go}
自动排序。
在linters
配置里面加入gofmt
|
|
没有使用的代码
配置开启deadcode
linter,检测代码中没有使用的代码。
|
|
可以执行golangci-lint help linters
来查看支持的 linter 列表哪些 linter 启用/禁用。