用途:该技能用于按 Russ Cox(Go 技术负责人)的风格编写 Go 代码,核心关注工具链、模块设计、正确性与向后兼容。适用于设计包、管理依赖、维护公共 API、编写并发代码与测试等场景。
主要能力与原则:正确性优先于性能;重视兼容性,认为破坏性变更会伤害真实用户;把工具链视为产品(go mod、go vet、gofmt);强调可复现构建与显式依赖。
使用方式与约定:用 go mod 管理依赖;运行 go vet 并处理所有警告;固定依赖以保证可复现构建;公共 API 保持向后兼容;正确使用语义化版本;清晰记录破坏性变更。避免破坏既有 API 契约、把 v0 代码当作 v1 发布、忽略模块版本规则、在已发布模块中使用 replace 指令、用 _ 前缀导入包。优先稳定 API、显式导入、internal 包、最小依赖与标准库。
代码模式:模块设计保持 go.mod 干净精简;用 Options 模式扩展 API 而不破坏兼容;用 internal 包隔离私有代码以便自由重构;语义化版本中 v1 保证兼容、v2 需新导入路径;用 Deprecated 注释弃用旧函数而不破坏调用方;并发代码使用 sync.RWMutex 与 context 实现优雅关闭;测试采用表驱动测试与 t.Helper、t.Cleanup 辅助函数。
限制:资料未提供该技能的具体安装命令、运行环境、收费方式与平台支持信息,暂未提供。