用途:Go Expert 是 Go 语言的陷阱与决策参考,用于在写 Go 代码时快速查阅常见坑点和选型依据,覆盖错误处理、并发与接口设计。
主要能力:给出四类关键决策——Gin/Echo/Fiber 框架选择(Gin 最流行稳定,Echo API 更简洁,Fiber 性能最高且类似 Express);接口定义位置(定义在消费者包而非提供者包,接受接口返回结构体);Channel 与 Mutex 的取舍(Channel 用于 goroutine 间通信,Mutex 用于保护共享内存);表驱动测试与子测试(表驱动用于输入变化,t.Run 子测试用于不同场景)。
陷阱要点:每个错误返回都要检查 err != nil,不要用 _ 忽略;用 %w 包装错误(可解包),%v 仅格式化(不可解包);避免 goroutine 泄漏,确保 goroutine 能退出(context 取消、done 通道);defer 参数立即求值但按 LIFO 执行;Go 1.22 之前 range 循环变量复用会导致闭包捕获同一变量,1.22+ 已修复;nil slice 与空 slice 的 JSON 序列化差异(null 与 []);顶层用 context.Background(),占位用 context.TODO(),context 始终作为第一个参数;竞态检测用 go test -race ./...;sync.WaitGroup 的 Add() 要在启动 goroutine 前调用。
使用方式:资料提到使用 Context7 获取 Go 框架文档。
限制:资料未提供安装命令、收费方式、平台支持或具体使用步骤,暂未提供。