Go语言遍历map(访问map中的每一个键值对)


本站和网页 http://c.biancheng.net/view/32.html 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

Go语言遍历map(访问map中的每一个键值对)
首页
教程
VIP会员
一对一答疑
辅导班
公众号
首页
C语言教程
C++教程
Python教程
Java教程
Linux入门
更多>>
目录
Go语言
Go语言简介
Go语言基本语法
3 Go语言容器 3.1 Go语言数组3.2 Go语言多维数组3.3 Go语言切片3.4 使用append()为切片添加元素3.5 Go语言切片复制3.6 Go语言从切片中删除元素3.7 Go语言range关键字3.8 Go语言多维切片3.9 Go语言map(映射)3.10 Go语言遍历map3.11 map元素的删除和清空3.12 Go语言map的多键索引3.13 Go语言sync.Map3.14 Go语言list(列表)3.15 Go语言nil:空值/零值3.16 Go语言make和new关键字的区别及实现原理
流程控制
Go语言函数
Go语言结构体
Go语言接口
Go语言包(package)
Go语言并发
10
Go语言反射
11
Go语言文件处理
12
Go语言编译与工具
首页 > Go语言 > Go语言容器
Go语言遍历map(访问map中的每一个键值对)
map 的遍历过程使用 for range 循环完成,代码如下:
scene := make(map[string]int)
scene["route"] = 66
scene["brazil"] = 4
scene["china"] = 960
for k, v := range scene {
fmt.Println(k, v)
遍历对于Go语言的很多对象来说都是差不多的,直接使用 for range 语法即可,遍历时,可以同时获得键和值,如只遍历值,可以使用下面的形式:
for _, v := range scene {
将不需要的键使用_改为匿名变量形式。
只遍历键时,使用下面的形式:
for k := range scene {
无须将值改为匿名变量形式,忽略值即可。
注意:遍历输出元素的顺序与填充顺序无关,不能期望 map 在遍历时返回某种期望顺序的结果。
如果需要特定顺序的遍历结果,正确的做法是先排序,代码如下:
scene := make(map[string]int)
// 准备map数据
scene["route"] = 66
scene["brazil"] = 4
scene["china"] = 960
// 声明一个切片保存map数据
var sceneList []string
// 将map数据遍历复制到切片中
for k := range scene {
sceneList = append(sceneList, k)
// 对切片进行排序
sort.Strings(sceneList)
// 输出
fmt.Println(sceneList)
代码输出如下:
[brazil china route]
代码说明如下:
第 1 行,创建一个 map 实例,键为字符串,值为整型。
第 4~6 行,将 3 个键值对写入 map 中。
第 9 行,声明 sceneList 为字符串切片,以缓冲和排序 map 中的所有元素。
第 12 行,将 map 中元素的键遍历出来,并放入切片中。
第 17 行,对 sceneList 字符串切片进行排序,排序时,sceneList 会被修改。
第 20 行,输出排好序的 map 的键。
sort.Strings 的作用是对传入的字符串切片进行字符串字符的升序排列,排序接口的使用将在后面的章节中介绍。
关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。本公众号由C语言中文网站长亲自运营,长期更新,坚持原创。
微信扫码关注公众号
优秀文章
Go语言等待组(sync.WaitGroup)
export命令_Linux export命令:查看和设置Shell环境变量
Python __del__()方法:销毁对象
Shell命令的本质到底是什么?如何自己实现一个命令?
Go语言sync包与锁:限制线程对变量的访问
Python dict字典keys()、values()和items()方法
常用数据库大汇总(附带优缺点)
如何衡量一个算法的执行效率?
GCC -c选项:生成目标文件
Redis SMEMBERS命令
精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。
关于网站 |
关于站长 |
如何完成一部教程 |
公众号 |
联系我们 |
网站地图
Copyright ©2012-2022 biancheng.net, 冀ICP备2022013920号, 冀公网安备13110202001352号
加入微信交流群,一起学习不枯燥。内含一款搜索神器,免费下载全网书籍和视频。