用途:该技能提供 Go 语言编程辅助,覆盖 goroutine、channel、接口、泛型、context 与错误处理,适合构建微服务、高并发 HTTP/gRPC API、云原生与容器基础设施、网络工具与分布式守护进程,以及跨平台单二进制编译部署。
主要能力:围绕 Go 的核心概念提供指导,包括由运行时调度的轻量级 goroutine 与基于 channel 的 CSP 并发通信、无需显式声明的隐式接口实现、将错误作为最后一个返回值显式处理并使用 errors.New 与 fmt.Errorf 的 %w 包装哨兵错误。资料还给出常见模式,如带 context 取消的固定 worker 池,通过共享 channel 分发任务并支持取消。
使用方式:资料提供快速开始示例,包含 package main、import "fmt"、func main 以及 make(chan string) 与 go func 启动 goroutine 的写法。建议实践包括:始终传递 context.Context 以支持取消、超时与链路追踪;立即检查 err != nil 并用 fmt.Errorf("context: %w", err) 包装;在高分配代码中使用 sync.Pool 复用缓冲区;在 CI 中运行 golangci-lint。应避免 goroutine 泄漏、用 panic 处理常规错误流程、按值传递大结构体。
限制与排错:资料列出常见问题及处理方向,如 all goroutines are asleep - deadlock 需确保 channel 关闭或缓冲并检查互斥锁释放;nil 指针解引用需先判空;数据竞争可用 go test -race 检测并用 sync.Mutex 或 channel 保护。参考资料为 Go Documentation 与 Effective Go。具体安装命令、版本要求与收费信息暂未提供。