map1 := map[int]int{
2 : 0,
}
fmt.Println(map1)
Test(map1)
fmt.Println(map1)
map2 := make(map[int]int, 1)
map2[1] = 0
fmt.Println(map2)
Test(map2)
fmt.Println(map2)
输出:
map[2:0]
map[1:1 2:0]
map[1:0]
map[1:1]
书中记载:
map
作为为参数传递给某函数时,该函数接收这个引用的一份拷贝(copy,或译为副本),被调用函数对 map
底层数据结构的任何修改,调用者函数都可以通过持有的 map
引用看到