for i := 0; i < 10; i++ {
go func() {
fmt.Println(i)
}
}
time.Sleep(time.Second) // 10,10,10,10,...
使用 go vet 检查
// 修改
for i := 0; i < 10; i++ {
go func() {
i2 := i
fmt.Println(i2)
}
}
// 或者(推荐)
for i := 0; i < 10; i++ {
go func(i int) {
fmt.Println(i)
}(i)
}
time.Sleep(time.Second)
网友评论