gpt4 book ai didi

go - Golang 1.8 并发映射迭代和映射写入错误

转载 作者:数据小太阳 更新时间:2023-10-29 03:33:06 25 4
gpt4 key购买 nike

所以我有这个功能..

func Set(firstSet map[string][]App, store map[string]*Parsed) map[string][string]struct{} {
s := make(map[string]map[string]struct{})
for dmn, parsed := range store {
for cId, apps := range firstSet {
if _, ok := s[dmn]; !ok {
s[dmn] = make(map[string]struct{})
}
s[dmn][cId] = struct{}{}
}
}

return s
}

那个 func 的第 3 行(对于 dmn,parsed := range store)给我错误并发映射迭代和 Golang 1.8 中的映射写入错误。有什么想法吗?

最佳答案

看起来像Concurrent Map Misuse .可能你的函数是从不同的 gorotines 调用的。尝试将函数体包含在 mutex.Lock()/Unlock() 中,以便您的 map 可以安全地同时使用。

关于go - Golang 1.8 并发映射迭代和映射写入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com