用途
该技能提供专家级 Go 编程能力,专注于 Go 1.21+ 特性、以 goroutine 和 channel 为核心的并发系统,以及高性能后端服务。它强调使用地道的 Go 模式和全面的标准库运用,来构建可扩展的微服务、CLI 工具和分布式系统。
主要能力
- 并发编程:覆盖 Worker Pool、Pipeline、Fan-In、Context、共享状态同步(sync.RWMutex、sync/atomic、channel)、sync.Once 等模式的选型决策框架。
- 错误处理:提供错误包装(fmt.Errorf 的 %w)、自定义错误类型、哨兵错误、errors.Is/errors.As、多返回值等策略矩阵,并建议仅在程序错误时使用 panic。
- HTTP 服务:给出框架决策树,区分全功能框架(Gin/Echo)、微框架(Chi/Gorilla Mux)、标准库 net/http 与 gRPC 的适用条件。
- 标准化实现范式:包含生产级 HTTP 服务器与优雅关闭、中间件(日志、panic 恢复、超时)、上下文取消传播、表驱动测试等模板与示例代码。
- 反模式提示:说明 range 循环变量捕获问题,并给出 Go 1.22+ 前后的正确写法。
- 与其他角色的集成模式:与 backend-developer、database-optimizer、devops-engineer、kubernetes-specialist、frontend-developer 的交接与协作方式(如 API 契约、连接池、优雅关闭、健康探针、指标端点等)。
使用方式
文档以“何时使用”“决策框架”“工作流”“模式与模板”“集成模式”等形式组织。示例以完整 Go 代码片段呈现,涉及具体包导入、结构体定义、中间件链组合、信号监听与带超时的优雅关闭流程。文中未提供安装命令、运行方式或调用接口等具体接入说明,暂未提供。
适用场景
- 以 Go 构建高性能微服务(HTTP 服务、gRPC、API 网关)。
- 用 goroutine 与 channel 实现并发系统(工作池、流水线)。
- 使用 cobra 或标准库开发 CLI 工具与系统/DevOps 实用程序。
- 构建网络服务(TCP/UDP、WebSocket、代理)。
- 并发流式数据处理管道。
- 以 pprof 进行性能分析与减少内存分配等优化。
- 实现服务发现、熔断等分布式系统模式。
- 使用 Go 1.21+ 泛型与类型参数。
限制
资料中列出的需升级处理的红线场景包括:goroutine 泄漏导致内存增长、加锁后仍存在竞态条件、上下文取消无法传播、泛型导致编译时间暴涨、CGO 内存损坏等。文档未说明本技能的运行环境、依赖版本范围、是否包含自动化执行入口,也未提供收费、价格或平台信息,暂未提供。