go語言-內建容器之map(九)
阿新 • • 發佈:2019-02-01
var mMap map[string]string = map[string]string { "a" : "this is a", "b" : "this is b", } var k, v string for k, v = range mMap { fmt.Printf(k, v) fmt.Println("") } var value = mMap["a"] fmt.Printf("value=%s", value) v, ok := mMap["a"]; fmt.Printf("v=%s, ok=%s", v, ok) fmt.Println("") if v, ok :=mMap["a"]; ok { fmt.Printf(v, ok) } else { fmt.Printf("ok is not exist") } m := make(map[int]string) m[1] = "love" delete(m, 1)
建立:make(map[string]string)
獲取元素:m[key]
key不存在時,獲得value型別的初始值
用value,ok:=m[key]來判斷是否存在key
用delete刪除一個key
使用range遍歷key,或者遍歷key, value對
不保證遍歷順序,如需順序,需手動對key排序
map使用雜湊表,必須可以比較相等
除了slice,map,function的內建型別都可以作為key
Struct型別不包含上次欄位,也可以作為key