为什么会这样:fori:=0;i打印012同时:fori:=0;i打印333? 最佳答案 虽然goroutine很便宜,但它们并不是免费的。创建它们会产生一些但很少的开销。在您的第一个程序中,i的值被保存到goroutine中,因为您将它作为参数传入。(每个goroutine在那一刻获得它自己的i值的副本。)在你的第二个程序中,i的值在第一个goroutine启动之前已经是3。请记住,在Go程序中,goroutine共享相同的内存空间,因此在这种情况下,每个goroutine在打印出来时都在查看相同的i。