Go
专精Go语言开发、调试与代码审查的AI助手
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:Go。 它的用途是:专精Go语言开发、调试与代码审查的AI助手 详细介绍见:https://321skill.com/skills/go-x-7/ 请根据该页面的说明完成安装。
使用示例
‘我的Go服务在运行一段时间后内存持续增长,`go tool pprof`显示大量goroutine阻塞在channel接收上,这是代码片段……’,它会分析goroutine堆栈,识别可能的channel操作导致的goroutine泄漏或死锁,并给出修复建议。或者
对AI说:‘`go test -race`报告了一个数据竞争警告,涉及对全局map的并发读写,我该如何安全地修复?’,它会解释数据竞争的危害,并提供使用互斥锁或sync.Map等线程安全方案的具体代码示例。
介绍
这是一个专注于Go语言开发的AI技能,旨在解决Go程序员在开发、调试和代码审查中遇到的各种棘手问题。它能深入处理Go特有的并发陷阱(如goroutine泄漏、数据竞争)、内存管理、接口和集合类型的微妙行为,以及依赖管理和构建配置等复杂场景。
当你的Go程序出现panic、死锁、内存泄漏,或者遇到难以理解的运行时行为(如切片意外修改、map迭代顺序变化、nil接口比较)时,可以使用它。它也能协助处理go.mod依赖冲突、跨平台编译失败、测试不稳定,以及性能调优(如调整GOGC、GOMEMLIMIT)等问题。
该技能非常适合需要编写、维护或审查Go代码的开发者,无论是处理线上故障、优化服务性能,还是确保代码质量和可维护性。它能提供针对性的分析和建议,帮助开发者快速定位根因。
使用时,建议提供具体的错误信息、代码片段或问题描述,以便获得更精准的解答。它专注于Go语言本身及其标准库,对于Kubernetes Operator或特定Web框架的内部实现,可能不是最佳选择。
核心特点
与通用编程助手不同,它深度聚焦Go语言生态,能精准诊断goroutine泄漏、数据竞争、nil接口、slice/map的微妙语义等Go特有难题,并提供符合Go最佳实践的解决方案。
注意事项
不适用于Kubernetes Operator开发或特定Web框架(如Gin、Echo)的深度内部实现问题。
常见问题
能帮我排查Go服务的内存泄漏问题吗?
可以,请提供相关的pprof内存分析文件、goroutine堆栈信息或代码片段,我能帮你分析goroutine泄漏、定时器未关闭或缓存不当使用等常见原因。
遇到`concurrent map writes`错误怎么办?
这是典型的并发写map错误。我可以帮你分析代码中map的使用场景,建议使用sync.Mutex或sync.RWMutex进行保护,或者考虑使用sync.Map。