8.1 Map 声明、初始化和make
...小于 1 分钟
8.1 Map 声明、初始化和make
Map :数据结构,由元素对(pair, key : value) 组成的无序集合。
8.1.1 概念
声明:
var m map[keytype]valuetype
var m map[string]int
key: 可以是使用
==
,!=
操作符比较的类型- 数组和切片不能作为key
- 结构体可以提供
key()
和hash()
方法来作为key
value: 任意类型
map 的默认零值为:
nil
初始化:
m = map[keytype]valuetype{k1: v1, k2: v2, ...}
make: 使用
make()
来初始化mapmake(map[key_type]val_type) // with capacity make(map[key_type]val_type, capacity)
8.1.2 容量
map 的容量时动态的,可以使用make
时注明容量。
对大的map或者会快速扩张的map,最好事先设定容量。
make(map[key_type]val_type, capacity)
8.1.3 切片作为值
当遇到key对应多个val时,可以使用切片作为值。
mp := map[string][]int
mp := map[string]*[]int
Powered by Waline v2.15.2