//打印出来都是3,3,3,3
//因为,for是对指针对引用,这里是对同一个i对地址进行引用
for i :=0;i<4;i++ {
    go fun(){
        fmt.Println(i)
    }()
}

//这里打印出来的是:0,1,2,3
//因为函数传递是值传递
//对i进行了重新对赋值,先把i :=i,然后,再将新对i值传递进去
for i :=0;i<4;i++ {
    go fun(i int){
        fmt.Println(i)
    }(i)
}