我正在根据迭代变量在 goroutine 内部进行一些条件检查i,发现它给了我意想不到的结果,我决定用一些简单的代码来确认它。
for i := 1; i <= 5; i++ {
wg.Add(1)
fmt.Println(i)
go func() {
fmt.Println(i)
wg.Done()
}()
}
wg.Wait()
1
2
3
4
5
6
6
6
6
6
这是预期的行为吗?有人可以解释为什么 6 被打印 5 次,尽管我只迭代到 5 吗?
侃侃无极
慕村9548890
随时随地看视频慕课网APP
相关分类