8.1 Map 声明、初始化和make

Kesa...小于 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() 来初始化map

    make(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