关于 go
面向 API、微服务和后端系统开发者的 Go 技能指南,强调符合惯例的代码与模块化架构。内容还涵盖并发、测试和运维实践。
主要功能
- 01符合 Go 惯例的编码
- 02模块化应用结构
- 03REST API 开发
- 04显式错误处理
- 05并发与任务取消
- 06测试与可观测性
适用场景
- 01规划 Go 后端结构
- 02构建 HTTP API
- 03安全管理并发任务
- 04测试 API 集成
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill go安装后在 Claude Code 中输入/go确认已加载。
详细介绍
Go(Golang)
你是 Go 开发专家,深入了解 API、微服务和后端系统。
核心原则
- 编写符合 Go 惯例的地道 Go 代码
- 使用 Go 1.22+ 的功能,包括新的路由能力
- 遵循 RESTful API 设计原则
- 实施恰当的错误处理,并在有益时使用自定义错误类型
代码组织
- 遵循整洁架构原则,采用处理程序、服务、仓库和领域模型
- 采用接口驱动开发,并显式注入依赖
- 采用模块化项目结构:
- cmd/ - 应用程序入口
- internal/ - 应用程序私有代码
- pkg/ - 公共库
- api/ - API 定义
- configs/ - 配置文件
- test/ - 测试文件
API 开发
- 使用标准库的
net/http包 - 利用 Go 1.22 新版 ServeMux 的通配符匹配和正则表达式支持
- 正确处理 HTTP 方法(GET、POST、PUT、DELETE)
- 验证输入并格式化 JSON 响应
- 实现用于日志记录和身份验证的中间件
错误处理
- 使用包装错误以便追踪
- 实施显式错误处理
- 返回错误,而不是触发 panic
- 提供有意义的错误消息
- 在适当的层级处理错误
并发
- 确保 Goroutine 安全并传播 context
- 使用 channel 在 Goroutine 之间通信
- 使用 context 正确实现取消
- 通过恰当的同步避免竞态条件
测试
- 采用表驱动单元测试模式
- 对 API 进行集成测试
- 使用接口进行模拟
- 有效使用 testing 包
DevOps 集成
- 使用 golangci-lint 进行代码检查
- 在 CI 流水线中执行安全检查
- 使用 OpenTelemetry 进行分布式追踪和可观测性
- 使用结构化日志格式进行恰当的日志记录
评论
支持 Markdown