用途:为 Go 项目开发提供完整指南,涵盖编码、设计、并发、性能与代码审查,适合在编辑 .go 文件、go.mod 或讨论 goroutine 时使用。
主要能力:给出格式化、静态分析、测试、漏洞扫描与构建的常用命令,如 gofmt -w . && goimports -w . && go fix ./... && go vet ./...、go test ./... && go test -race ./... && go test -cover ./...、govulncheck ./...、go build -pgo=cpu.pprof -o bin/app ./cmd/app、golangci-lint run。强调提交前必须通过 make check && make test-e2e,并说明 make check 展开为 gofmt、go fix(运行两次)、go vet、go build、go test -race -count=1、govulncheck、golangci-lint。
规范与设计:格式化不可妥协;命名、错误处理与错误分层有明确约定,如用 %w 包装、领域哨兵错误、仅在系统边界记录日志;测试采用表驱动与 t.Run();项目按功能/领域组织,避免 /src、/utils 等目录;推荐函数式选项与构造函数注入,接口保持小而精。
并发:核心规则是明确 goroutine 何时与如何终止,库代码默认同步,优先 errgroup,context 作为首参,发送方关闭 channel。列出取消陷阱,如对外部 channel 使用裸 range、传入 nil context、无缓冲通知 channel 阻塞、共享 buffer 数据竞争。
限制:资料未提供具体版本要求、安装步骤、收费信息或平台支持范围;版本需自行用 go version 与 go.dev/VERSION 确认。