关于匿名函数使用共享变量的问题

gpfly · · 1375 次点击
真奇怪,我记得上午我测试的时结果是不一样的。然后刚才我又测试了一下,怎么结果都是0了?题主确定结果不一样?
#2
更多评论
这个问题在我电脑上,两种情况打印出的结果都是 0。 环境:go version go1.12 linux/amd64
#1
![image.png](https://static.studygolang.com/190329/890d6aad9919001cb2259022fc7c3e6f.png) 编译器直接没生成 i++ 的汇编代码,不知道为何编译器直接没编译出 i++ 这个命令,可能编译器做了判断这种简单的for是没意义的。改复杂一点,编译器识别不出来,就可以了。如下图 ![image.png](https://static.studygolang.com/190329/eafc9d38c0e6e173819ac7978841ae0b.png)
#3