如何快速掌握 Go 架构设计cc-skills-golang 的设计模式、依赖注入与数据库访问完整指南【免费下载链接】cc-skills-golang‍ A collection of Golang agentic skills that works项目地址: https://gitcode.com/gh_mirrors/cc/cc-skills-golangcc-skills-golang 是一套专为 Go 语言打造的 AI 编程助手技能库Agentic Skills覆盖Go 设计模式、依赖注入、数据库访问三大架构实践让 Claude Code、Cursor、Copilot 等 AI 助手在写 Go 代码时自动遵循生产级规范。本文带你完整看懂这三个架构技能的核心理念与实战要点新手也能快速上手 项目速览一个仓库40 个 Go 技能cc-skills-golang 的核心理念是技能 按需加载的领域专家指令集。每个技能Skill都是一个原子化单元只在 AI 判断相关时才加载进上下文既专业又不臃肿。技能被划分为四大通用方向 框架/库技能方向代表技能作用️ 架构与设计golang-design-patterns、golang-dependency-injection、golang-concurrency设计模式、DI、并发模型 代码质量golang-code-style、golang-error-handling、golang-naming风格、错误处理、命名 质量与性能golang-testing、golang-benchmark、golang-observability测试、性能、可观测性 项目启动golang-project-layout、golang-cli、golang-gopls目录结构、CLI、工具链官方评测数据显示启用技能后 AI 编码通过率从57% 提升到 97%40pp。其中本篇三大技能的错误率降幅尤为突出golang-dependency-injection错误率降低 47%golang-design-patterns错误率降低 37%golang-database错误率降低 38%完整评测见 EVALUATIONS.md技能总表见 README.md。️ 设计模式技能21 条最佳实践教你恰到好处技能文件skills/golang-design-patterns/SKILL.md该技能内置了一个重视简洁与显式性的Go 架构师人格并且只在模式真正解决问题时才引入——它甚至会主动抵制过度抽象 核心工作模式设计模式Design mode创建新 API 或包结构时先询问你的架构偏好再给出满足需求的最小模式审查模式Review mode审计现有代码重点扫描init()滥用、无界资源、缺失超时、隐式全局状态21 条最佳实践中最值得记住的几条原则一句话解释✅ 构造函数用函数式选项一个函数对应一个选项API 演进不破坏兼容❌避免init()隐式执行、无法返回错误让测试变得不可预测 枚举从 1 开始Go 零值会静默变成第一个枚举成员0 应表示未知⏱️ 每个外部调用必须带超时慢上游会无限挂起你的 goroutine限制一切连接池、队列、缓冲区都要设上限无界资源会撑爆进程Panic 只留给 Bug预期错误一律返回 error调用方才能处理defer Close()紧跟资源打开别让后续代码改动意外跳过清理逻辑架构选型别给小项目套大架构技能给出的选型建议非常务实——架构复杂度必须匹配项目规模项目规模推荐架构脚本 / 小 CLI 500 行平铺main.go不分层中型服务500 – 5K 行简单分层handler/、service/、repository/大型服务 / 单体5K 行整洁架构、六边形架构或 DDD由团队决定深度指南已拆分为独立参考文档按需查阅架构总览references/architecture.md整洁架构references/clean-architecture.md六边形架构references/hexagonal-architecture.md领域驱动设计references/ddd.md 依赖注入技能从手动注入到容器化技能文件skills/golang-dependency-injection/SKILL.md依赖注入DI的本质一句话服务声明它需要什么由调用方或容器提供而不是自己去创建、去全局找。这正是 Go 代码可测试、易解耦的关键。为什么需要 DI技能用一张对照表讲得很清楚没有 DI 时测试必须连真实数据库、改一个组件会牵动一串、服务在到处初始化有了 DI测试时注入 Mock 即可接口隔离让组件互不知晓内部实现。先手动再容器一条清晰的升级路径⬆️ 10 个服务手动构造函数注入足够——在main()里按配置 → 基础设施 → 仓库 → 服务 → 传输层顺序装配即可完整示例见 references/manual-di.md10 – 20 个服务开始考虑引入 DI 库20 服务、需要生命周期管理健康检查、优雅停机强烈建议使用容器四种主流方案横向对比摘自技能决策表维度手动注入google/wireuber dig/fxsamber/do适用规模小10 服务中大型大型任意类型安全编译期编译期代码生成运行期反射编译期泛型需要代码生成否是wire_gen.go否否懒加载 / 单例手动实现全量提前创建fx 内置内置优雅停机手写手写fx 内置内置学习曲线无中等高低各方案的完整接线示例google-wire.md、uber-dig-fx.md、samber-do.md六个常见错误帮你少走弯路⚠️错误修正全局变量当依赖通过构造函数或容器注入用init()装配服务在main()或容器中显式初始化依赖具体类型消费端面向接口到处传递容器服务定位器只注入具体依赖容器留在组合根依赖链过深A→B→C→D→E压平多数服务应直接依赖仓库和配置每个请求建一个容器应用级一个容器请求级隔离用作用域️ 数据库访问技能安全、可观测的 SQL 实践技能文件skills/golang-database/SKILL.md这个技能内置的是一位把 SQL 当一等语言的Go 后端工程师人格不用 ORM、不靠魔法在边界处捕获数据完整性问题。选型立场明确用 sqlx 或 pgx远离 ORM库适合场景说明database/sql追求可移植、依赖最少手动Scansqlx多数据库项目支持StructScan结构体扫描pgx专用 PostgreSQL比标准库快 30–50%支持 COPY、LISTENGORM / ent建议避免查询不可预测、N1 问题看不见新手必须刻进肌肉记忆的 6 条规则参数化占位符——永远不要把用户输入拼进 SQL 字符串这是注入漏洞的头号来源动态列名要走白名单校验全程传递 Context——统一使用QueryContext/ExecContext等变体客户端断开时查询能立即取消defer rows.Close()紧跟查询——忘了关闭连接就泄漏回连接池显式处理sql.ErrNoRows——查无此行是领域结果不是技术错误用errors.Is区分多语句操作用事务——配合SELECT ... FOR UPDATE防竞态必要时提升隔离级别配置好连接池——SetMaxOpenConns、SetMaxIdleConns、SetConnMaxLifetime、SetConnMaxIdleTime四件套缺一不可两条AI 时代的重要边界不生成表结构看似正确的 schema 在真实数据量下可能变成热点、锁竞争或缺索引schema 必须人来设计不依赖隐藏 SQL 特性触发器、视图、存储过程会造成应用里看不见的副作用SQL 要显式、可见、可版本化深度参考文档事务与锁references/transactions.md性能与连接池references/performance.md结构体扫描references/scanning.md数据库测试references/testing.md⚡️ 技能如何协同工作原子化 懒加载cc-skills-golang 最巧妙的设计在于技能间的交叉引用每个 SKILL.md 是入口遇到细节会指向兄弟技能而不是重复内容。例如影响日志的错误处理规则住在golang-error-handling而不是golang-observability。这种设计带来两个好处按需加载技能描述约百 token常驻上下文用于触发判断正文与references/深度文档只在相关时才读取不会撑爆上下文观点一致安装全部通用技能后AI 的命名、错误处理、日志、架构建议是同一套自洽体系 安装上手三步接入你的 AI 助手第 1 步克隆仓库git clone https://gitcode.com/gh_mirrors/cc/cc-skills-golang第 2 步放入 AI 助手的技能发现目录把仓库目录复制或软链到对应位置AI 助手发现目录Claude Code.claude/skills/Cursor.cursor/skills/Copilot.copilot/skills/Codex / OpenCode.agents/skills/Gemini CLI通过 extensions 机制安装第 3 步优先安装 ⭐️ 推荐技能golang-design-patterns、golang-database、golang-dependency-injection等它们启动只占约 1,100 token 的描述开销正文按需拉取。进阶玩法项目还内置了 AI 驱动代码评审能力——把技能挂到 CI 的 PR 评审流程里让 AI 像资深架构师一样审查架构漂移、并发隐患说明文档见 GOLANG-AI-DRIVEN-REVIEW.md。 关键资料索引资料路径项目说明与技能总表README.md各技能评测明细EVALUATIONS.md设计模式技能skills/golang-design-patterns/SKILL.md依赖注入技能skills/golang-dependency-injection/SKILL.md数据库访问技能skills/golang-database/SKILL.md贡献与技能编写规范CLAUDE.md写在最后cc-skills-golang 的价值不在于教你背 Go 代码而在于把资深 Go 工程师的架构判断力沉淀成了可复用的技能先选对架构规模、再谈函数式选项先手动注入、再谈容器化先参数化查询、再谈性能调优。把它装进你的 AI 助手让每一次 Go 代码生成都站在生产级实践的肩膀上 ✅【免费下载链接】cc-skills-golang‍ A collection of Golang agentic skills that works项目地址: https://gitcode.com/gh_mirrors/cc/cc-skills-golang创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考