关于go的闭包与shadow

zackzhangkai · · 1011 次点击
https://www.jianshu.com/p/aceb90f4e571
#1
更多评论
这里关键点在于for k,v range{ go func(){ k }()} ,这个循环内部是局部变量,需要在循环体内定义一个局部变量接收k,v的值,然后go func这个闭包引用外部变量的时候就可以使用这个局部变量,不然每次用的变量都是外部的变量。 总而言之:for range是有内部作用域的。
#2