Go學習筆記之Map

Go學習筆記之Map

Map 引用類型,哈希表。map的key必須能夠比較相等,除了slice, map, function的內建類型均可以做爲key。struct類型不包含上述字段,也可做爲key。golang

map的操做

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 無效

 

map的遍歷

不能保證迭代返回的次序。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
相關文章
相關標籤/搜索