1、Map概念

说到map就会想到python的map函数,其实它就是Golang的字典

map[keyType]valueType
2、Map初始化

map的初始化是先要声明map,指定key和value的类型,而这时候生成的map就是一个nil map,当要使用该map的时候就需要通过make函数给nil map创建一个非nil map。

make只能为slice, map, channel分配内存,并返回一个初始化的值

package main

import "fmt"

var m map[int]string // 先声明map
func main(){

	m = make(map[int]string) // 再使用make函数创建一个非nil的map,nil map是不能赋值的
	// 给已声明的map赋值
	m[0] = "aa"
	m[1] = "bb"

	// 打印map的所有值
	fmt.Println(m) // map[0:aa 1:bb]
}
3、Map操作

map赋值

package main

var m1 map[string]string
func main(){

	m1 = make(map[string]string)
	// 给已声明的map赋值
	m1["name"] = "jack"
	m1["sex"] = "20"
}

map值获取

package main

import "fmt"

var m1 map[string]string
func main(){

	m1 = make(map[string]string)
	m1["name"] = "jack"
	m1["sex"] = "20"
  // 直接通过key获取值
	fmt.Println(m1["sex"]) // 20
}