map:是key-value数据结构,又称为字段或者关联数组,相似其它编程语言的集合;golang
基本语法:var 名称 map[键类型]值类型编程
- key的类型能够是:bool、数字、string、指针、管道,还能够是包含前面几个类型的接口、结构体、数组;(一般为Int、string)
- value的类型基本和key同样;
申明:数组
- var a map[string]string
- var a map[string]int
- var a map[int]string
- var a map[string]map[string]string
- 申明是不会分配内存的,初始化须要make,分配内存后才能被赋值和使用;
a = make(map[int]int, 0)
使用方式:数据结构
- var a map[int]int
a = make(map[int]int,0)
- a := make(map[int]int)
- a := map[int]int{
1:2,
2:3,
}


map的增删改查:app


map的遍历:编程语言


map的长度:用len统计有多少对key-valueide
map的切片:(动态增长map),通常而言,初始化的切片的长度是有必定长度的,要想再增长,能够用append函数

函数
map排序:spa
- golang中没有一个专门的方法针对map的key排序;
- golang中的map默认是无序的;
- golang中map的排序,是先对key进行排序,而后根据key遍历输出便可;(我如今的版本里面map里面是有序的了)


map的使用细节:指针
- map是引用类型,在一个函数接收map,修改后,会直接影响到原来的map

- map的容量达到后,要想再增长map,会自动扩容;
- map的value常用struct类型,更适合管理复杂的数据
