- map 的基本介绍
- map 是 key-value 数据结构,又称为字段或者关联数组。类似其它编程语言的集合,
- 基本语法
- var map 变量名 map[keytype]valuetype
- key 可以是什么类型
- golang 中的 map,的 key 可以是很多种类型,比如 bool, 数字,string, 指针, channel , 还可以是只包含前面几个类型的 接口, 结构体, 数组
- 通常 key 为 int 、string
- 注意:
- slice, map 还有 function 不可以,因为这几个没法用 == 来判断
- valuetype 可以是什么类型
- valuetype 的类型和 key 基本一样
- 通常为: 数字(整数,浮点数),string,,map,struct
- map 声明的举例:
- var a map[string]string
- var a map[string]int
- var a map[int]string
- var a map[string]map[string]string
- 注意:声明是不会分配内存的,初始化需要 make ,分配内存后才能赋值和使用。
//map的声明和注意事项
var a map[string]string
//在使用map前,需要先make , make的作用就是给map分配数据空间
a = make(map[string]string, 10)
a["no1"] = "宋江" //ok?
a["no2"] = "吴用" //ok?
a["no1"] = "武松" //ok?
a["no3"] = "吴用" //ok?
fmt.Println(a)
- 对上面代码的说明
- map 在使用前一定要 make
- map 的 key 是不能重复,如果重复了,则以最后这个 key-value 为准
- map 的 value 是可以相同的.
- map 的 key-value 是无序
- make 内置函数数目