天天看點

Go map的實際類型

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 

引用看到