Go學習筆記之Map
Map 參考型別,哈希表,map的key必須可以比較相等,除了slice, map, function的內建型別都可以作為key,struct型別不包含上述欄位,也可作為key,
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為空,
m := make(map[string]int) //map[key]value,m == empty
3.或者定義一個map,這里map為nil,
var m map[string]int // m == nil
2.獲取元素
1.使用value, ok := map[key]來判斷是否存在key.
2.使用delete洗掉元素,
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的遍歷
不能保證迭代回傳的次序,
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/65041.html
標籤:Go
上一篇:Gin框架 - 專案目錄
下一篇:QA:無重復字符的最長子串
