Golang map 中的 key-value

  • map 的 key,可以是各种类型的值,内置类型或者结构体都可以,需要确定这个值可以使用运算符做比较
    • 但,切片、函数以及包含切片的结构类型,由于是引用类型,均不能作为 map 的 key
  • map 的 value,可以是任意类型

key 是 struct 的 map

 

 


value 是切片类型的 map

func main() {
	var sliceMap = make(map[string][]string, 3)
	fmt.Println(sliceMap)  // map[]

	key := "中国"
	value, ok := sliceMap[key]
	if !ok {
		value = make([]string, 0, 2)
	}
	value = append(value, "北京", "上海")
	sliceMap[key] = value
	fmt.Println(sliceMap)
}

value 是 map 的 map