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 中国大陆许可协议进行许可。

posted @   雪糕战士  阅读(106)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起