func main(){
a := 64
var i *int = &a
increment(i)
fmt.Println(*i) //指针类型且已修改指针地址,为什么依然是64
}
func increment(i *int){
t := *i
t++
i = &t
fmt.Println(*i)
}
go函数调用时,指针类型是赋值拷贝,也就是说在increment函数里面的i变量只是原来的指针变量的一个副本,改变指针变量的值并不会影响原来的地址,如果像楼上改成修改指针变量指向的值,则指针指向的内容会改变
#5
更多评论