分类目录归档:Go深入

Go 迭代变量的陷阱

在并发的goroutine中遇到这个问题,还以为是goroutine的问题,或者Go闭包的问题, 一层一层分析下来,才知道是Go本身迭代变量的问题,想起了PHP的foreach陷阱【PHP引用理解之神奇的foreach面试题】,不仅感慨深入掌握一门语言何其不易呀 ​​​

先说结论:Go在循环体中,每次遍历的变量是同一个,指向同样的内存地址,这是语言本身的一个陷阱

问题先行,我们先来看看问题
继续阅读