Go
专业的Go语言代码编写、调试与审查助手,专攻并发、内存泄漏等疑难杂症。
安装使用
复制下面这段提示词发给你的 AI(Claude / Cursor / TRAE / Codex / WorkBuddy 等),它会自动帮你完成安装:
帮我安装这个 AI Skill:Go。 它的用途是:专业的Go语言代码编写、调试与审查助手,专攻并发、内存泄漏等疑难杂症。 详细介绍见:https://321skill.com/skills/go-x-5/ 请根据该页面的说明完成安装。
使用示例
‘我的Go服务在运行几小时后内存持续增长,`pprof`显示goroutine数量不断增加,这是代码片段……’,它会分析goroutine泄漏的常见模式(如未关闭的channel、阻塞的select、遗漏的context取消),并指导你使用`goroutine`堆栈和`heap` profile来定位泄漏的具体goroutine及其创建路径。
介绍
这个Skill是Go开发者的专业调试伙伴,专门解决Go语言开发中那些令人头疼的复杂问题。它不只是一个代码生成器,更是一个深度理解Go运行时、并发模型和内存管理的专家。
当你遇到诸如goroutine泄漏导致内存攀升、并发map写入引发panic、通道操作死锁、或go test -race报出数据竞争警告时,它可以帮你快速定位根因。它还能处理因错误包装导致errors.Is失效、切片/映射的微妙行为差异、依赖管理(go.mod, go.sum)冲突,以及编译、cgo、静态链接等构建难题。
它非常适合需要编写稳健后端服务、CLI工具或处理高并发逻辑的中高级Go开发者。无论是调试线上服务的诡异内存泄漏,还是优化逃逸分析以提升性能,或是确保泛型代码的正确性,它都能提供针对性建议。
使用建议是,在描述问题时尽可能提供具体的错误信息、代码片段和上下文。对于复杂的竞态条件或泄漏问题,可以分步引导它进行分析。注意,它主要聚焦于Go语言本身和标准库/常见生态,不涉及Kubernetes控制器或特定Web框架的内部实现。
核心特点
与通用编程助手不同,它深度内嵌Go语言特有的并发陷阱、内存模型和工具链知识,能精准诊断如“typed nil interface比较非nil”、“切片共享底层数组引发意外修改”等Go专属难题,并提供符合Go惯用法的修复方案。
注意事项
不适合处理Kubernetes Operator开发、特定Web框架(如Gin、Echo)的深入使用或非Go语言的技术栈问题。
常见问题
能帮我修复`fatal error: concurrent map writes`错误吗?
可以。请提供相关代码片段和错误上下文,我会分析并发访问map的模式,并建议使用sync.Map或互斥锁等同步方案。
如何排查Go服务的内存泄漏?
可以。请描述内存增长模式,并提供可能涉及goroutine、定时器或网络连接的代码。我会指导你使用pprof工具并分析goroutine堆栈来定位泄漏源。