Map 引用類型,哈希表。map的key必須能夠比較相等,除了slice, map, function的內建類型均可以做爲key。struct類型不包含上述字段,也可做爲key。golang
1.建立一個map。學習
1 m := map[int]struct{ 2 name string 3 age int 4 }{ 5 1: {"user1", 10}, 6 2: {"user2", 20}, 7 } 8 fmt.Println(m)
2.使用make建立。這裏map爲空。spa
m := make(map[string]int) //map[key]value,m == empty
3.或者定義一個map,這裏map爲nil。code
var m map[string]int // m == nil
2.獲取元素blog
1.使用value, ok := map[key]來判斷是否存在key.string
2.使用delete刪除元素。it
m := map[string]int{ "a": 1, } if v, ok := m["a"]; ok{ //判斷key是否存在 println(v) }else{ println("not exist") } println(m["c"]) //對於不存在的key, 直接返回\0,不會報錯 m["b"] = 2 //新增或修改 delete(m, "c") //刪除,若key不存在,不會報錯 println(len(m)) //獲取鍵值對數量,cap 無效
不能保證迭代返回的次序。io
m := map[string]string { "name": "ccmouse", "course": "golang", "site": "imooc", } fmt.Println("Traversing map") for k,v := range m { fmt.Println(k, v) } 輸出: course golang site imooc name ccmouse