golang字典map的定义
学过python的同学都知道,python里面也有这个map函数,map就是golang里面的字典,golang里面的map和python里面的map都是同一个概念:它的格式 `map[key]value`,map的读取和slice(切片)一样都是通过key来读取,但是slice里卖弄的key只能是`int`类型,而map里面的key可以是string,可以是`int`
字典的定义
两种方式.
一:第一种
var m map[int]string
fmt.Println(m) //map[]
fmt.Println(len(m)) //0
二:第二种,推导定义
m2 := make(map[int]string,99)
fmt.Println(m2)
三:map字典的赋值
//赋值: map长度自动扩容
m2[1] = "张三"
m2[2] = "里斯"
m2[3] = "王五"
m2[4] = "张三"
fmt.Println(m2) //map[1:张三 2:里斯 3:王五 4:张三]
四:字典map初始化
//初始化字典
m3 := map[int]string{1:"张三",2:"里斯",3:"王五",4:"张三"}
fmt.Println(m3[2]) //里斯
//字典的的键是唯一的,值可以重复
//重要:在map中值是无序的(顺序随时变化)
map1 := make(map[int]string)
letter := []string{"a","b","c","d","e"}
for k,v := range letter{
map1[k] = v
}
fmt.Println(map1) //map[0:a 1:b 2:c 3:d 4:e]