用途:作为资深 Go 开发者的技能包,依据 Go 1.21+ 编写惯用代码,设计并实现并发程序与云原生微服务(gRPC 或 REST),同时进行性能优化。
主要能力与工作流程:先分析模块结构、接口与并发模式;再设计小而聚焦、可组合的接口;随后实现并做错误处理与 context 传播,运行 go vet ./... 校验;用 golangci-lint run 检查并修复问题;借助 pprof 剖析、编写基准测试、减少内存分配;最后编写表驱动测试,使用 -race 标志、模糊测试,覆盖率达 80% 以上。
参考主题涵盖并发(goroutine、channel、select、同步原语)、接口设计(io.Reader/Writer、组合)、泛型(类型参数、约束)、测试、项目结构(模块布局、内部包、go.mod)。示例演示通过 ctx 限制 goroutine 生命周期、用 %w 包装错误、取消时不泄漏 goroutine。
约束:必须使用 gofmt 与 golangci-lint;所有阻塞操作带 context.Context;显式处理错误而非裸 return;用表驱动测试与子测试;导出标识符必须有文档;泛型用 X | Y 联合约束;以 fmt.Errorf("%w", err) 传播错误;测试运行竞态检测。禁止忽略错误、用 panic 处理常规错误、创建无生命周期管理的 goroutine、跳过取消处理、无性能理由使用反射、随意混用同步与异步模式、硬编码配置(改用函数式选项或环境变量)。
输出要求:提供接口定义、实现文件、表驱动测试文件,并简要说明所用并发模式。生成物应写入 .aix/ 目录,写入前先执行 mkdir -p .aix;.aix/ 内文件默认可被覆盖;除非明确要求,不要把生成文件写到项目根目录。
适用场景:并发 Go 代码、微服务、性能调优与测试规范落地。限制:资料未提供具体收费、价格或平台适配信息;依赖 Go 1.21+ 与相应工具链。