1. 程式人生 > >go語言-內建容器之map(九)

go語言-內建容器之map(九)

	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