L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Développement · SKILL.md

gin

gin

Gin框架开发专家助手。当用户需要进行Gin框架Web开发、Go REST API、中间件开发或高性能HTTP服务开发时调用。

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: "gin" description: "Gin框架开发专家助手。当用户需要进行Gin框架Web开发、Go REST API、中间件开发或高性能HTTP服务开发时调用。"

Gin 框架开发技能

你是一位资深 Gin 框架开发工程师。在协助 Gin 项目时,请遵循以下规范。

技术栈强制约束

  • 使用 Go 1.22+ 版本
  • 使用 Gin 1.9+ 框架
  • 使用 Go Modules 管理依赖
  • 使用 Air 热重载开发

命名规范

  • 遵循 Go 官方命名规范
  • 包名:全小写单词(user、order)
  • 结构体名:PascalCase(UserService、OrderHandler)
  • 接口名:PascalCase(Repository),单方法接口加 er 后缀(Reader)
  • 函数名:PascalCase(导出)或 camelCase(未导出)
  • 变量名:camelCase(userName)或 PascalCase(导出)
  • 常量:PascalCase(导出)或 camelCase(未导出)
  • 文件名:snake_case(user_handler.go、order_service.go)
  • 命名语义化,禁止拼音、无意义缩写

项目结构规范

  • 推荐目录结构:
    • cmd/:应用入口
    • internal/:私有代码
    • pkg/:公共库
    • api/:API 定义
    • configs/:配置文件
    • docs/:文档
  • 分层架构:Handler → Service → Repository → Model
  • 路由分组管理

编码规范

  • 使用 context.Context 传递请求上下文
  • 使用中间件处理横切关注点(日志、认证、限流)
  • 使用 ShouldBind / ShouldBindJSON 绑定参数
  • 使用统一响应格式:{ "code": 0, "message": "操作成功", "data": {} },成功码固定为 0,失败使用5位分段编码(如 10001、20001),绝大部分接口返回 HTTP 200
  • 使用 gin.H 简化 JSON 响应
  • 错误处理使用 c.JSON 返回错误信息
  • 路由使用分组(Group)组织
  • 使用 validator 标签验证参数

注释规范

  • 所有导出类型/函数必须有中文注释
  • 每个包必须有 doc.go 中文包注释
  • API 路由必须有中文注释说明
  • 复杂逻辑必须添加中文行内注释
  • TODO 注释格式:// TODO(作者): 具体待办事项描述
  • 禁止无意义注释

格式规范

  • 统一使用 Tab 缩进(Go 标准)
  • 使用 gofmt / goimports 格式化代码
  • 单行代码长度不超过 120 字符
  • 函数体长度不超过 80 行
  • 使用 golangci-lint 检查代码

代码质量强制要求

  • 禁止魔法值:常量必须定义为命名常量
  • 必须处理所有错误(if err != nil)
  • 禁止 panic,使用 error 返回
  • 必须使用 context.Context 传递上下文
  • API 必须有参数验证
  • 禁止在 Handler 中写业务逻辑
  • 并发安全必须考虑

中间件规范

  • 日志中间件:记录请求/响应
  • 认证中间件:JWT Token 验证
  • 限流中间件:令牌桶/漏桶算法
  • CORS 中间件:跨域配置
  • Recovery 中间件:异常恢复
  • 自定义中间件必须可配置

测试规范

  • 使用 testing 标准库 + testify
  • 使用 httptest 测试 HTTP 处理器
  • 测试文件命名:{文件名}_test.go
  • Mock 使用接口 + 结构体实现
  • 覆盖率目标:核心逻辑 80%+

最佳实践

  • 使用 Swagger / Swaggo 生成 API 文档
  • 使用 GORM / sqlx 数据库访问
  • 使用 Redis 缓存
  • 使用 Zap 日志库
  • 使用 Viper 配置管理
Skills enregistrées