用途:该技能面向 Go 软件工程,覆盖设计、实现、调试、测试、代码审查与重构 Go 应用、CLI、API 和服务,并涉及并发相关内容。
操作规则:改动代码前先检查 go.mod、包结构、测试和既有风格;倾向于在消费方边界使用小接口、显式错误、表驱动测试,以及简单组合而非过度抽象;除非用户要求破坏性变更,否则保持导出 API 兼容;先运行针对性的 go test,条件允许时再扩大测试范围,并发改动尽量使用 go test -race。
工作流:用 rg --files、go list ./... 以及针对性阅读受影响包来建立上下文;识别包边界、公开类型、副作用和并发归属;实现最小且内聚的改动,配以清晰错误和可取消的上下文;为成功路径、失败路径、边界情况和竞态补充或更新测试;再用格式化、测试、vet/静态分析(如可用)验证,并简要总结风险。
Go 规范:请求作用域工作把 context.Context 作为第一个参数;当调用方可根据原因采取行动时用 %w 包装错误,避免字符串匹配;goroutine 生命周期要显式,具备取消、有界队列和明确的 channel 关闭归属;除非是不可变常量或有意共享,否则避免包级全局变量;性能重写前先用基准测试和性能剖析。
限制与暂未提供:除上述内容外,具体版本要求、依赖清单、命令示例、平台和收费信息暂未提供。