# map
# 1. 概述
map
是 key-value
形式的存储结构,一个键(key)对应一个值(value)。
list := map[string]int{"Tom": 16, "Jerry": 15 }
上面实例中定义了一个 list
的 map
结构。
声明 map
结构时,先使用 map
关键字,之后中括号内部定义键的类型,这里键的类型是 string
,之后定义值的类型,这里定义了 int
类型,最后是初始化,初始化了两个数据。
# 2. 使用
(1)创建 引用类型的数据声明时,不会分配内存空间,需要借助 make 函数,分配内存。
myMap := make(map[int]int)
(2)添加元素
myMap["Tom"] = 15
myMap["Jerry"] = 14
(3)访问
myMap["Tom"] // 15
如果我们访问的值不存在,返回该类型的零值。
myMap["Allex"] // 0
myMap
中并没有存入 Allex,键值类型是 int,所以返回 0。如果是 string 类型,会返回 ""。
# 3. 遍历
可借助 range 来遍历 map。
for key, val := range myMap {
fmt.Println(key, val)
}
// Jerry 14
// Tom 15
每次循环时,key 和 val 的值是 myMap 的一个键和值,这个 for 循环会循环两次,因为 myMap 的长度为 2。
← 指针 结构体 struct →