go 使用errgroup 捕获goroutine 运行中产生的错误
func CreateGreeter() error {
var mu sync.Mutex
group := new(errgroup.Group)
var info []biz.Info
m := make(map[string]string)
userlist := []string{"User0001", "User0002", "User0003", "User0004", "User0005"}
for _, s := range userlist {
tempNum := s
go func() {}()
eg.Go(
func() error {
err := r.data.db.Table("111").Where("User=?", tempNum).Find(&info).Error
if err != nil {
fmt.Println("查询失败")
return err
}
news := m
for _, b := range info {
mu.Lock()
news[tempNum] = b.Function_ID
mu.Unlock()
}
return nil
},
)
}
if err := eg.Wait(); err != nil {
return err
}
return nil
}
本文作者:雪糕战士
本文链接:https://www.cnblogs.com/nothingness/p/15755237.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步