①Go 并发编程提示词:3分钟写出高性能协程代码
提示词描述:
专为 Go 开发者设计的并发编程提示词模板,3 分钟生成带 goroutine、channel、错误处理的完整代码。覆盖批量任务、数据聚合等场景,附效果示例和进阶调优技巧。
提示语关键词:
Go并发编程,AI写代码,goroutine提示词,channel代码模板,Go开发工具,AI编程助手
提示词内容:
【使用场景】
当你需要快速实现 Go 并发处理(如批量任务、数据聚合、API 调用)时,用这套提示词模板让 AI 直接输出可运行的 goroutine + channel 代码。
【操作步骤】
1. 复制下方模板,替换 {填写} 部分:
---
角色:资深 Go 后端工程师,精通并发模式。
任务:为 {业务场景} 编写并发处理代码。
要求:
- 使用 goroutine + channel 实现
- 包含 {并发数量} 个 worker
- 错误处理用 {error 处理方式}
- 输出完整可运行代码 + 注释
示例输入:{示例数据}
预期输出:{期望结果}
---
2. 填写示例:
- 业务场景:批量抓取 100 个网页标题
- 并发数量:10 个 worker
- error 处理方式:log + continue
3. 发送给 AI,直接复制代码到项目
【效果示例】
输入:批量抓取 100 个网页标题,10 worker,error log+continue
AI 输出:
```go
func fetchTitles(urls []string) {
jobs := make(chan string, len(urls))
results := make(chan string, len(urls))
// 启动 10 个 worker
for w := 0; w < 10; w++ {
go worker(jobs, results)
}
// 发送任务
for _, url := range urls {
jobs <- url
}
close(jobs)
// 收集结果
for i := 0; i < len(urls); i++ {
title := <-results
log.Printf("Title: %s", title)
}
}
```
【进阶技巧】
- 加 context 控制超时:在提示词加"必须包含 context.WithTimeout"
- 对比不同并发模式:追问"用 WaitGroup 和 channel 分别怎么实现?"
- 性能调优:让 AI 分析"这段代码的瓶颈在哪?如何优化?"
【注意事项】
- 一定要指定 worker 数量,否则 AI 默认用 len(tasks) 导致资源浪费
- error 处理方式写清楚,避免 AI 用 panic
- 复杂场景先让 AI 画流程图再写代码
【对比分析】
| 写法 | 适用场景 | 性能 |
|------|---------|------|
| goroutine+channel | 任务间需通信 | 高 |
| sync.WaitGroup | 只等完成不需结果 | 中 |
| errgroup | 需统一错误处理 | 高 |
让 AI 根据场景推荐最合适方案。