首页 > 后端开发 > Golang > golang循环遍历map的方式有几种

golang循环遍历map的方式有几种

青灯夜游
发布: 2023-01-16 10:23:35
原创
5509 人浏览过

golang循环遍历map的方式有1种,就是利用“for range”语句。“for range”是Go语言特有的一种的迭代结构,语法“for key, value := range mapName{...}”,返回的第一个是map的key,返回的第二个是map的value;如果只使用一个返回参数接受,那么返回的是map的key。

golang循环遍历map的方式有几种

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

Go 语言 中 map 的遍历只能使用 for range 的形式,for range 循环返回的第一个是 map 的 key,返回的第二个是 map 的 value。

使用 for range 遍历 map,如果我们只使用一个返回参数接受,那么返回的是 map 的 key。因此 map 是无序的,因此同一个 map,每次遍历获取的结果的顺序很可能是不一致的。

for range循环遍历map语法

  • 遍历map的key和value

for key, value := range mapName{
...
}
登录后复制

使用 for range 循环遍历 变量 名为 mapName 的 map ,其中 key 是 map 的键,value 是 map 的 key 所对应的 值。

  • 遍历map的key

for key := range mapName{
...
}
登录后复制

使用 for range 循环遍历map 时 ,如果只使用一个返回值接受,那么返回的是 map 的 key。

  • 遍历map的value

for _, value := range mapName{
...
}
登录后复制

如果我们仅仅希望获取 map 的所有的元素,那么我们可以使用 _ 忽略 key 的值;将不需要的键使用_改为匿名变量形式。。

for range循环遍历map的示例

示例1:使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for key, value := range mapHaiCoder{
		fmt.Println("Key =", key, "Value =", value)
	}
}
登录后复制

1.png

示例2:使用 for range 循环遍历 map 的所有的 key

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for key := range mapHaiCoder{
		fmt.Println("Key =", key, "Value =", mapHaiCoder[key])
	}
}
登录后复制

2.png

示例3:遍历map的value

如果我们仅仅希望获取 map 的所有的元素,那么我们可以使用 _ 忽略 key 的值

package main
import (
	"fmt"
)
func main() {
	//使用 for range 循环遍历 map,获取 map 的 KEY 和 VALUE
	mapHaiCoder := map[string]string{
		"Server":"Golang",
		"JavaScript":"Vue",
		"Db":"Redis",
	}
	for _, value := range mapHaiCoder{
		fmt.Println("Value =", value)
	}
}
登录后复制

3.png

【相关推荐:Go视频教程编程教学

以上是golang循环遍历map的方式有几种的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板