map和其他語言的hashmap是一樣的,是一個kv的數據集合,是按照哈希演算法得到k的一個整數,將v存到一個數組的k位。 ...
map和其他語言的hashmap是一樣的,是一個kv的數據集合,是按照哈希演算法得到k的一個整數,將v存到一個數組的k位。
1 package main 2 3 import ( 4 "fmt" 5 ) 6 7 func main() { 8 9 map1 := make(map[int]string) 10 map1[5] = "hello" 11 map1[7] = "world" 12 map1[9] = "!" 13 14 fmt.Println(map1[5]) 15 16 fmt.Println(map1[9]) 17 18 v, ok := map1[6] 19 20 if !ok { 21 fmt.Println("this key is not exists", v) 22 } 23 24 delete(map1, 5) 25 26 for k, v := range map1 { 27 fmt.Println(k, ":", v) 28 } 29 }
我們可以使用 map[KeyType]ValueType來定義map,首先是key的類型,之後是value的類型。
這裡我們用 map1 := make(map[int]string) 定義了一個map
之後10-12行向map寫入了3個 kv值。
當訪問一個不存在的k的時候,返回的是value類型的0值。
我們還可以使用delete函數刪除一個k。