用途:该技能整理了一套生产级 Go 开发模式,供编写、审查或重构 Go 代码时参考,覆盖程序生命周期、并发、配置、测试与 CI 等主题。
主要能力与规则: 生命周期:main.go 仅为存根,只调用 cmd.Execute();诊断(如 pprof)通过环境变量开启。所有模式(交互、无界面、测试)共用同一条启动路径。有序关停时先取消依赖项再取消被依赖项,独立清理在超时上下文下并行执行,并行阶段使用 WaitGroup。 并发:向通道发送不得阻塞发送方,采用非阻塞发送并明确丢弃策略,丢弃时按 debug 级别记录日志,并记录该策略。并发测试使用 testing/synctest 获得确定性时序,用 goleak.VerifyNone 检测泄漏,并为计时器/通道死锁编写专门回归测试。 配置:优先级显式为全局 → 项目 → 命令行标志;从当前工作目录向上查找项目配置,反转顺序使最近者优先,并做深度合并。平台路径集中管理,每个关注点一个函数,解析顺序为环境变量覆盖 → XDG → 平台默认值 → 兜底。 日志安全:在 debug 日志中脱敏密钥,包装 http.RoundTripper,过滤匹配 authorization、api-key、token、secret 的请求头,并以 debug 级别为门槛,避免生产环境产生额外分配。 测试与 CI:用黄金测试替代矩阵,将布局 × 主题 × 大小等维度作为并行子测试,连续区间扫描以捕捉差一错误。只启用聚焦型 linter 而非全部:开启能发现真实缺陷的(bodyclose、noctx、tparallel),关闭嘈杂默认项,项目专用检查以脚本添加,测试始终使用 -race。
用法:资料提示查阅 references/patterns.md 获取代码示例。
限制:官方资料未提供安装命令、收费信息、适用平台与效果数据,暂未提供相关内容。