go for range 遍历
for range 中会为 i,v 申请各申请一块内存地址存储临时变量,遍历的时候后面的值会覆盖前面的
例子:
package main import ( "fmt" ) func main() { m := make(map[int]int) sliceList := []int{1,2,3,4} // for range 中会为 i,v 申请各申请一块内存地址存储临时变量,遍历的时候后面的值会覆盖前面的 for i,v:= range sliceList{ fmt.Printf("i %p \n",&i) fmt.Printf("k %p \n",&v) m[*(&i)]=*(&v) } for k, v := range m { fmt.Println(k, ":", v) } }
执行结果:
posted on 2022-10-04 09:42 running-fly 阅读(24) 评论(0) 编辑 收藏 举报