golangci-lint当前支持的检查器需通过命令行查询:执行golangci-lint help linters查看全量列表及启用状态、自动修复支持和分类;用golangci-lint help linters <name>查单个详情;golangci-lint run -v显示项目实际启用项。

想快速知道golangci-lint当前支持哪些检查器(linters),以及每个检查器是否默认启用、能否自动修复、属于哪类规则,必须用命令行直接查,不能只靠文档或猜。
查看所有可用检查器列表
在终端中执行:
golangci-lint help linters
这条命令会输出完整列表,包含每项的名称、描述、是否默认启用、是否支持--fix、所属分类(如bugs、style、performance)。注意:输出内容随版本更新而变化,v1.54.2起已移除golint,新增revive替代项。
查看某一个检查器的详细说明
比如你想确认staticcheck具体检查什么、有没有配置参数:
golangci-lint help linters staticcheck
这会显示该linter的官方说明、典型触发场景、可配置字段(如min-complexity)、是否与gosimple存在功能重叠。如果你在配置中同时启用这两个,可能收到重复告警——【务必避免同时开启staticcheck和gosimple】。
查看当前项目实际启用的检查器
方法一:运行带-v参数的检查,观察启动日志
golangci-lint run -v
输出开头会列出“Enabled checkers:”后跟所有生效的linter名称,这是最真实的结果——它已考虑.golangci.yml中的enable/disable、presets、以及隐式继承规则。
方法二:显式指定配置文件路径并解析启用项
golangci-lint run -c .golangci.yml --help
该命令不会执行检查,但会加载配置并打印解析后的启用列表,适合调试配置是否被正确读取。若提示“can't load config”,说明路径错误或YAML语法有误。
按类别筛选检查器
第一步:获取全部检查器原始数据
golangci-lint help linters > all-linters.txt
第二步:用grep提取特定类型,例如只看与安全相关的:
grep -A 2 "security\|safety\|gosec" all-linters.txt
第三步:过滤出默认启用的检查器(含“enabled by default”字样)
grep -B1 "enabled by default" all-linters.txt | grep -E "^[a-z]"
这三步组合能快速定位目标linter,避免在长列表中人工翻找。注意:-B1表示向上取1行,确保捕获到linter名称本身;正则^[a-z]排除说明行,只保留工具名。
golang免费学习笔记(深入):立即使用
在学习笔记中,你将探索golang的核心概念和高级技巧!











