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剖面图,我会帮你解读并定位泄漏源。