[go]go闭包和传参的区别
问题: 为啥包一层输出的就有问题了
func main() {
arr := []int{1, 2, 3}
for _, v := range arr {
go func() {
println(v)
}()
} // 3 3 3
time.Sleep(time.Second)
for _, v := range arr {
go println(v)
} // 1 2 3
time.Sleep(time.Second / 10)
}
闭包和传参的区别
包一层成了闭包 不包一层 值传递