啊,关于最后一个 goalng 代码片段,我在 VScode 里面试了一下,golint 提示警告:loop variable v captured by func literal,我运行了之后确实基本都是 ccc ;不过如果切片特别长的话就不保证,但大部分的值确实是切片里的最后一个值。上谷歌搜了一下,说因为主协程只是负责启动子协程,主协程取切片中的元素很快,主协程中的 for-range 循环一下子就运行完,然后等待 wg.Wait() ,此时闭包子协程捕获的外部变量 v 早就已经赋值为切片的最后一个元素了。
点赞 5

相关推荐

牛客网
牛客企业服务