ad

编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器5

admin 141 2023-10-12

【摘要】 本书摘自《零基础Go语言 从入门到精通》一书中第六章,第3.3节,编者是零壹快学

6.3.3   遍历映射

编程之旅从学会《零基础Go语言》开启_第六章_Go 语言内置容器5

map的遍历主要通过for循环来完成,遍历时可同时获得map的键和值。

动手写6.3.4

执行结果如下:

若只想遍历键,for循环可改写成如下形式:

执行结果如下:

若只想遍历值,for循环可改写成如下形式:

执行结果如下:

6.3.4   从映射中删除键值对

Go语言通过delete()函数来对map中的指定键值对进行删除操作,delete()函数格式如下:

其中map为要删除的map实例,键为map键值对中的键。

动手写6.3.5


执行结果如下:

注意:delete()函数会直接删除指定的键值对,而不是仅仅删除键或值。

另外, Go语言没有为map提供清空所有元素的方法,想要清空map的唯一方法就是重新定义一 个新的map。

○6.4 小结

◇ 数组是具有相同类型且长度固定的一组数据项序列,这组数据项序列对应存放在内存中的 一块连续区域中,数组大小之后不可再变。

◇ 切片表示多个同类型元素的连续集合,但是切片本身并不存储任何元素,而只是对现有数 组的引用。

◇ 如果切片是从其他数组或切片生成,新切片的元素添加需要考虑对原有数组或切片中数据 的影响。

◇ Go语言没有为删除切片元素提供方法,所以需要我们手动将删除点前后的元素连接起来, 从而实现对切片中元素的删除。

◇ 映射是一种无序的键值对的集合,当程序中需要存放有关联关系的数据时,往往就会用到

map。

◇ Go语言没有为map提供清空所有元素的方法,想要清空map的唯一方法就是重新定义一个新 的map。

○6.5 知识拓展

并发操作map

对于map,我们可以定义一个键和值,然后从map中获取、变更和删除这个值。6.3小节中,对 map的操作都是在单协程的情况下完成的,这种情况下一般不会出现错误。如果是多个协程并发访 问一个map,就有可能会导致程序异常退出,具体示例程序如下:

动手写6.5.1

执行结果如下:

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:编程之旅从学会《零基础Go语言》开启_第三章_基本变量与类型
下一篇:编程之旅从学会《零基础Go语言》开启_第三章_安装和运行_上
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×