关于errMap
来源:5-5 task示例的实现
remembers
2020-03-27
func VideoClearExecutor(dc dataChan) error {
errMap := &sync.Map{}
// ......
errMap.Range(func(k, v interface{}) bool {
err = v.(error)
if err != nil {
return false
}
return true
})
// ......
}
艾文西老师,我感觉把 errMap 挪到函数体外作为包级变量使用好一些,
否则 errMap.Range 每次调用的都是局部创建的新的 errMap ,
那么之前的 goroutine 就算有 error 也不是往当前这个 map 里面写,
那么 errMap.Range 这段逻辑也就没什么用了。
写回答
1回答
-
艾文西
2020-03-28
没看懂,之前的goroutine肯定不会往这个map里写啊。
这个map就是捕捉当前的err而已
052020-03-28
相似问题