07.手撕Go语言-复合数据类型之映射

映射是存储一系列无序的key/value对,通过key来对value进行操作(增、删、改、查)。映射的key只能为可使用==运算符的值类型(字符串、数字、布尔、数组),value可以为任意类型

声明

map声明需要指定组成元素key和value的类型,在声明后,会被初始化为nil,表示暂不存在的映射

07.01.png

初始化

  1. 使用字面量初始化:map[ktype]vtype{k1:v1, k2:v2, …, kn:vn}
  2. 使用字面量初始化空映射:map[ktype]vtype{ }
  3. 使用make函数初始化

make(map[ktype]vtype),通过make函数创建映射

07.手撕Go语言-复合数据类型之映射_第1张图片
07.02.png

操作

  1. 获取元素的数量

使用len函数获取映射元素的数量

07.03.png
  1. 访问
07.04.png

当访问key存在与映射时则返回对应的值,否则返回值类型的零值

  1. 判断key是否存在

通过key访问元素时可接收两个值,第一个值为value,第二个值为bool类型表示元素是否存在,若存在为true,否则为false

07.手撕Go语言-复合数据类型之映射_第2张图片
07.05.png
  1. 修改&增加

使用key对映射赋值时当key存在则修改key对应的value,若key不存在则增加key和value

07.手撕Go语言-复合数据类型之映射_第3张图片
07.06.png
  1. 删除

使用delete函数删除映射中已经存在的key

07.手撕Go语言-复合数据类型之映射_第4张图片
07.07.png
  1. 遍历

可通过for-range对映射中个元素进行遍历,range返回两个元素分别为映射的key和value

07.08.png

使用

统计演讲稿中“我有一个梦想”中各英文字符出现的次数

07.手撕Go语言-复合数据类型之映射_第5张图片
07.09.png

欢迎添加公众号【扯淡er】学习交流

07.手撕Go语言-复合数据类型之映射_第6张图片
扯淡er

你可能感兴趣的:(07.手撕Go语言-复合数据类型之映射)