在 Golang for range 的时候 为啥直接
s :=[]int{1,2,3,4}
data :=make(map[int]*int)
for k,v := range s {
fmt.Printf(v)
fmt.Printf(&v)
}
输出 v 是 1234 但是 &v 的时候是同一个地址。。这是为啥。。不是很明白
1
linvon 2020-01-16 16:21:00 +08:00
应该是 v 是临时变量,只赋值地址不会变化吧
|