mcpField
G
go

go

github.com/mindrally开发287762 次安装3 周前更新
代码仓库

关于 go

面向 API、微服务和后端系统开发者的 Go 技能指南,强调符合惯例的代码与模块化架构。内容还涵盖并发、测试和运维实践。

主要功能

  1. 01符合 Go 惯例的编码
  2. 02模块化应用结构
  3. 03REST API 开发
  4. 04显式错误处理
  5. 05并发与任务取消
  6. 06测试与可观测性

适用场景

  1. 01规划 Go 后端结构
  2. 02构建 HTTP API
  3. 03安全管理并发任务
  4. 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