Skip to content
On this page

工具链与质量

格式化与导入

  • gofmt / go fmt:官方格式,团队以格式化后 diff 为准
  • goimports:整理 import 分组与未使用导入,多数编辑器默认集成。

静态分析

  • go vet ./...:常见错误(printf 格式、atomic 误用、copy 重叠等)。
  • staticcheck(第三方):更深规则集,CI 中广泛使用。

模块与构建信息

  • go version -m <binary>:查看嵌入的模块版本信息(需构建时带模块信息)。
  • -trimpath:可重现构建、去除本地路径。

竞态与模糊测试

  • CI:go test -race ./...(耗时与内存显著增加,可抽样或对关键包启用)。
  • 模糊测试语料目录 testdata/fuzz 可提交以回归历史崩溃用例。

文档

  • 导出符号上方注释以 // Name 开头会被 go doc / pkg.go.dev 收录。
  • go doc net/http Client 本地快速查看。

版本与工作区

团队统一 go 版本(asdf/mise/Docker 镜像)。多模块仓库用 go.work 时明确是否提交,并在 CI 中 go work sync 或显式不用 work 文件做发布构建,避免「仅本地能编过」。

技术文库