说到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
}