Go

Go语言调试、审查与性能优化专家

安装使用

复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:

帮我安装这个 AI Skill:Go。
它的用途是:Go语言调试、审查与性能优化专家
详细介绍见:https://321skill.com/skills/go-x-3/
请根据该页面的说明完成安装。

使用示例

'我的Go服务运行一段时间后报

介绍

当你被Go特有的死锁、数据竞争、nil map赋值、关闭通道发送等panic折磨时,这个Skill能帮你快速定位根因。它覆盖了从goroutine泄漏、内存持续攀升,到服务因缺少超时而挂死、errors.Is/As因%v包裹失效、切片意外修改父数组、map随机迭代顺序、typed nil作为error比较非nil等Go特有的陷阱。同时处理go.mod/workspace依赖冲突、交叉编译/cgo/build tags失败、测试在-race或-parallel下不稳定、GOGC/GOMEMLIMIT/GOMAXPROCS调优,以及编写handler、CLI、数据库访问、泛型等场景。

使用方式非常直接:在对话中描述你遇到的Go异常或行为——例如“all goroutines are asleep - deadlock!”,或“concurrent map writes”,或“WARNING: DATA RACE”,它就会分析原因并给出修复方案,包括代码示例、配置修改建议或重构思路。你可以粘贴完整的错误堆栈、pprof输出或go test -race日志,它会逐行解读。

适合所有Go开发者,尤其是后端开发、测试工程师和运维工程师。无论你是刚入门的新手,还是负责高并发服务的资深工程师,都能从中受益。它同样适合在CI/CD流程中快速审查代码质量,或排查线上故障。

注意:这个Skill专注于Go语言本身及其标准库,不适合Kubernetes operator开发、框架内部实现(如自定义controller)或非Go项目的调试。建议与官方文档、race detector报告结合使用,效果更佳。

核心特点

与通用代码审查Skill不同,它专门针对Go语言特有的并发安全陷阱(nil map、死锁、数据竞争)、内存模型(goroutine泄漏、逃逸分析)和依赖管理(go.mod、workspace、replace)提供了深度分析,覆盖从编译时到运行时的全链路问题。

注意事项

不适合Kubernetes operator开发、框架内部实现或非Go语言项目。

常见问题

如何排查goroutine泄漏?

描述你的服务内存持续增长,或使用pprof查看goroutine数量,它就能分析泄漏点并给出修复建议,如添加context取消、使用sync.WaitGroup等。

能修复data race吗?

可以。粘贴go test -race的输出,它会指出竞态位置,并提供使用sync.Mutex、atomic操作或channel同步的解决方案。