Go
专精Go语言代码编写、调试与审查的AI助手
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:Go。 它的用途是:专精Go语言代码编写、调试与审查的AI助手 详细介绍见:https://321skill.com/skills/go-x-9/ 请根据该页面的说明完成安装。
使用示例
‘我的Go服务在运行一段时间后内存持续增长,`pprof`显示大量goroutine堆积在channel接收处,错误日志里有“send on closed channel”。请帮我分析可能的原因和修复方案。’ 它会分析你提供的goroutine堆栈和代码上下文,指出可能是向已关闭channel发送数据导致的panic被捕获但goroutine未退出,并建议使用`sync.Once`或检查channel状态来安全关闭,同时审查相关并发逻辑。
介绍
这是一个专注于Go语言开发的AI技能,旨在解决Go程序员在日常开发中遇到的各种棘手问题。它能够深入理解Go语言的并发模型、内存管理、依赖管理等核心特性,并提供精准的代码分析和解决方案。
当你的Go程序出现panic、死锁、数据竞争、内存泄漏,或者遇到依赖管理冲突、跨平台编译失败等问题时,可以调用此技能。它能帮你审查代码逻辑,定位goroutine泄漏的根源,分析go.mod依赖冲突,甚至优化net/http服务的超时和性能配置。
该技能非常适合中高级Go开发者,尤其是那些需要处理复杂并发、高性能服务或需要深度调试和代码审查的工程师。对于刚接触Go的新手,它也能提供专业的指导,帮助理解Go特有的陷阱和最佳实践。
使用建议:在提问时,尽量提供具体的错误信息、代码片段或问题上下文,这样AI能给出更精准的诊断。对于复杂的性能调优(如GOGC、GOMEMLIMIT),建议结合实际的性能剖析工具(如pprof)的数据进行分析。
核心特点
与通用编程助手不同,它深度聚焦Go语言生态,尤其擅长诊断Go特有的并发问题(如goroutine泄漏、channel死锁、map竞争)和模块依赖难题(如go.mod冲突、vendor、replace指令),并能提供符合Go惯用法的代码审查和优化建议。
注意事项
不适用于Kubernetes Operator开发或深入分析特定Web框架(如Gin、Echo)的内部实现细节。
常见问题
能帮我修复‘fatal error: concurrent map writes’错误吗?
可以。请提供相关代码片段,我会分析map的访问模式,并建议使用sync.Map或互斥锁(sync.Mutex/RWMutex)来确保并发安全。
如何排查Go服务的内存泄漏问题?
可以协助你分析goroutine泄漏、未关闭的资源(如timer、连接)或大对象持有。建议结合`pprof`的堆和goroutine剖面图,我会帮你解读并定位泄漏源。