在 Go Routines 中迭代映射?

我在前一段时间编写的一些旧代码上看到一些“致命错误:并发地图迭代和地图写入”。我一直在尝试诊断问题,但遇到了类似于下面的 playground 链接的代码块。

对返回的映射(通过引用传递)进行迭代对我来说似乎是错误的,即使它是在带锁的函数中返回的。

我一直在寻找关于为什么这似乎没有引发上述错误的解释。

我知道现在有 RWMutex 和同步映射,但是这段代码是前一段时间写的,我正在寻找功能的解释而不是改进。

https://play.golang.org/p/_RY-QAyGE2W

我假设上面的代码会抛出“致命错误:并发地图迭代和地图写入”,但它似乎没有问题。


慕后森
浏览 95回答 0
0回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go