我在前一段时间编写的一些旧代码上看到一些“致命错误:并发地图迭代和地图写入”。我一直在尝试诊断问题,但遇到了类似于下面的 playground 链接的代码块。
对返回的映射(通过引用传递)进行迭代对我来说似乎是错误的,即使它是在带锁的函数中返回的。
我一直在寻找关于为什么这似乎没有引发上述错误的解释。
我知道现在有 RWMutex 和同步映射,但是这段代码是前一段时间写的,我正在寻找功能的解释而不是改进。
https://play.golang.org/p/_RY-QAyGE2W
我假设上面的代码会抛出“致命错误:并发地图迭代和地图写入”,但它似乎没有问题。
相关分类