Go 内存模型 您提供的代码片段中缺少的同步允许编译器将 for 循环优化为 no -op,让 i 保持不变。 当你添加同步事件,例如通道操作或互斥锁时,编译器无法再进行此优化,并且 goroutine 将正确地递增 i,如你所期望的那样.