映射(map)

映射是一个k/v键值对的无序集合(一些情况下也称为关联数组,哈希表或者字典),通常通过它所关联的键来查寻其所对应的值,如下

var x map[string]int

声明一个map类型的变量,需要使用map关键字,括号里面标识的是key的类型,最后面是值的类型

key所允许的类型
  • string
  • int
value所允许的类型

就像数组(array),切片(slice)一样,map的元素赋值操作也是通过括号进行的

var x map[string]int
x["key"] = 10

如果运行以上代码,将会抛出一个错误,原因是因为map在进行元素赋值操作的时候需要进行初始化操作,因此我们可以进行如下修改

x := make(map[string]int)
x["key"] = 10

y := make(map[int]int)
y[1] = 10

make方法创建并初始化一个map,因此进行赋值操作就不会抛出错误,当map的key为int类型时,它与数组非常的相似,但是它们存在一下不同

  1. map的长度是可变化的,当创建的时候它的长度为0,当往里面添加元素时,其长度会增加,而数组的长度是不可变的
  2. map是非连续,对于数组来说,当存在x[1]的时候,必定会存在x[0]
map的常规操作
  1. 增加或者修改一个元素

    m[key] = elem
    
  2. 获取一个元素

    elem = m[key]
    
  3. 删除一个元素

    delete(m, key)
    
  4. 检测一个元素是否存在

    elem, ok := m[key]
    

results matching ""

    No results matching ""