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。