SuperAPI AI 工具集

go-patterns

测试与质量

查看项目

更新于 10-15 19:56

技能介绍

用途:提供 Go 1.21+ 的惯用(idiomatic)编码规范与工程实践参考,帮助编写可维护的 Go 代码。

主要能力:

  • 项目布局:标准项目与微服务目录结构(cmd、internal、pkg、api、configs、migrations)。
  • 编码准则:接受接口、返回结构体;错误处理与包装(fmt.Errorf 配合 %w、自定义错误类型);context 传播。
  • 测试:表驱动测试、测试辅助函数与 t.Cleanup、golden 文件对比、基准测试与并行基准。
  • 配置:函数式选项模式、环境变量加载(go-envconfig)、slog 结构化日志。
  • 依赖注入:基于接口的 DI 与内存实现示例。
  • 性能:预分配切片、strings.Builder、sync.Pool 复用缓冲、零拷贝技巧。
  • 工程化:Makefile 约定、构建标签、Go 模块与 workspace 命令、Docker 多阶段构建。

使用方式:作为技能/参考文档查阅,按需套用其中的模式与命令,例如 go mod init、go mod tidy、go test -v -race ./...、go vet ./...、staticcheck ./...、golangci-lint run。

适用场景:Go 服务与库的开发、代码评审、测试与性能优化、项目脚手架搭建。

限制:要求 Go 1.21+;部分示例依赖第三方库(如 go-envconfig);资料未提供安装步骤、收费与平台信息,暂未提供。