SuperAPI AI 工具集

golangci-lint

编程与开发

查看项目

更新于 10-16 04:29

技能介绍

用途:golangci-lint 是快速并行的 Go 静态检查聚合器,用于在 Go 项目中安装、配置、运行 lint 并集成到工作流。

主要能力:并发运行多个 linter、结果缓存、统一输出;支持启用/禁用 linter、自动修复(--fix)、仅检查新问题(--new、--new-from-rev)、代码格式化(fmt)、列出 linter。默认启用 standard 集合,包括 errcheck、govet、ineffassign、staticcheck、unused。

使用方式:推荐二进制安装,例如 curl -sSfL https://golangci-lint.run/install.sh | sh -s -- -b $(go env GOPATH)/bin v2.10.1,随后运行 golangci-lint --version;也可用 brew、choco、scoop 或 Docker(golangci/golangci-lint:v2.10.1)。基本运行 golangci-lint run 或 golangci-lint run ./...;目录默认不递归,需追加 /...。配置读取 .golangci.yml/.yaml/.toml/.json,从工作目录向上查找,配置项与 CLI 标志对应,linter 专属设置仅能通过配置文件提供。可用 //nolint 指令或配置中的 exclusions、presets 抑制误报,指令写法不允许 // 与 nolint 之间或冒号后带空格。支持 GitHub Actions、GitLab CI 等集成,输出格式含 text、json、checkstyle、junit-xml、sarif。

适用场景:Go 项目本地检查、CI 门禁、存量代码库逐步接入(仅看新问题)。

限制:CI 中建议固定版本;不建议用 go install 安装;nested 目录需 /... 才递归;未提及收费、价格、平台或效果承诺。