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]