1. 程式人生 > 其它 >golang中的map

golang中的map

1. 宣告與初始化

	// map的宣告與初始化
	userInfo := map[string]string{"name": "馬亞南", "age": "18"}
	fmt.Println(userInfo)
	fmt.Println(userInfo["name"])  // 馬亞南
	userInfo["age"] = "28"
	fmt.Println(userInfo)
	userInfo["email"] = "[email protected]"
	fmt.Println(userInfo)

	// 宣告
	var userInfo2 = map[string]string{}
	userInfo2["age"] = "88"
	fmt.Println(userInfo2)

	// make建立map
	data := make(map[int]int)
	data[100] = 998
	data[200] = 999
	fmt.Println(data)

	// 只有宣告,nil ,無法設定
	var row map[int]int  // 這種宣告用於整體的賦值
	//row["name"] = 666  // 錯誤的
	row = data
	fmt.Println(row)

	// new建立map, nil
	// 這種宣告也是用於整體的賦值,但是賦值的是map的指標型別
	value := new(map[int]int)
	value = &data
	fmt.Println(*value)

  // 注意:鍵不重複、鍵必須可雜湊(int/bool/float/string/array),map是無序的

	v1 := make(map[[2]int]float32)
	v1[[2]int{11, 22}] = 3.15
	v1[[2]int{33, 44}] = 2.88
	fmt.Println(v1)

  

2.