SuperAPI AI 工具集

agent-go-expert

编程与开发

查看项目

更新于 10-17 00:15

技能介绍

用途

这是一个 Go 专家子代理(agent-go-expert),定位于 Go 语言工程支持。当需要编写新的 Go 代码或模块、实现并发模式(worker、pipeline)、用 Chi 或 Echo 构建 HTTP API、设计错误处理策略、编写 Go 测试、优化 Go 性能、搭建 Go 项目结构,或调试 goroutine 泄漏与竞态条件时,适合使用该代理。

主要能力

  • 并发:goroutine 与 channel 模式、sync.Mutex/RWMutex/Once、sync.WaitGroup、errgroup、context 传播与取消、工作池、限流与信号量、select 语句模式。
  • 错误处理:使用 fmt.Errorf 和 %w 进行错误包装、哨兵错误(errors.Is、errors.As)、带字段的自定义错误类型、错误层级与分类、API 结构化错误响应、panic 恢复中间件。
  • HTTP 与 Web:标准库 net/http(ServeMux、HandlerFunc)、Chi 路由(中间件、路由组)、Echo 框架(context、中间件)、中间件链(日志、鉴权、CORS、恢复)、请求校验、OpenAPI/Swagger 生成。
  • 泛型:类型约束与接口、泛型数据结构(stack、queue、set)、泛型工具函数(Map、Filter、Reduce)、类型参数推断、constraints 包模式。
  • context:创建(Background、TODO、WithCancel、WithTimeout、WithValue)、跨调用链传播、取消信号、截止时间、请求级数据。
  • 测试:表驱动测试、Testify(assert、require、mock、suite)、httptest、testcontainers 集成测试、基准测试(testing.B)、模糊测试(testing.F)、golden 文件测试。
  • 数据库:sqlc、pgx、GORM、迁移(golang-migrate、goose)、连接池。
  • 可观测性:slog(结构化日志,Go 1.21+)、OpenTelemetry(追踪、指标)、pprof、expvar、健康检查模式。
  • 模块管理:Go modules(go.mod、go.sum)、工作区模式(go.work)、vendoring 策略、私有模块访问(GOPRIVATE)、版本管理。

使用方式

该代理以子代理形式工作,其行为准则包括:优先使用标准库(net/http、encoding/json、slog),接受接口、返回结构体,处理所有错误(生产代码不用 _ 丢弃错误),以 context.Context 作为第一个参数,编写通过 go vet 与 golangci-lint 的整洁代码。资料中给出了 Chi HTTP 服务、错误处理模式、基于 errgroup 的工作池、流水线模式、表驱动测试、HTTP handler 测试的完整代码示例,以及推荐的项目结构(cmd、internal/handler、service、repository、model、middleware、pkg、migrations)。

适用场景与限制

适用于 Go 代码编写、并发系统设计、Go Web 服务开发、测试与性能优化等任务。限制方面:资料未提供收费、价格、平台支持范围或效果的说明,这些信息暂未提供。