Go语言for range遍历map

Go语言for range遍历map教程

Go 语言 的键值 for 循环 使用的是 for range 的语法形式,可以用来遍历 map

for range遍历map详解

语法

for key, value := range mapVar{ // }

参数

参数 描述
for for range 循环使用的关键字。
key for range 循环返回的 map 的键。
value for range 循环返回的 map 的值的拷贝。
range for range 循环使用的关键字。
mapVar for range 循环需要遍历的 map 变量。

说明

我们使用了 for range 循环,来遍历了 mapVar,得到了 key 和 value。

for range遍历map忽略key

语法

for _, value := range data{ // }

说明

如果,在循环中我们不需要 key 的数据,那么我们可以使用 匿名变量 的形式,来忽略 key 的值。这里的 value 就是 map 的元素的拷贝。

for range遍历map不写key

语法

for value := range data{ // }

说明

Go 语言 for range 循环也可以支持不写 key 的情况,即只写一个 value。这里的 value 就是 map 的键。

Go语言for range循环说明

当使用 for range 循环(for range) 遍历 map 时,key 返回的是 map 的索引,value 返回的是索引对应的值的拷贝。

如果我们不写 key,那么返回的就是 map 的 key,而不是 map 的元素值。

案例

for range遍历map

使用 for range 遍历 map

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历 map var data = make(map[string]string, 3) data["module"] = "Server" data["category"] = "Python" data["site"] = "HaiCoder" for key, value := range data{ fmt.Println(key, "================>", value) } }

程序运行后,控制台输出如下:

27_golang for range遍历map.png

首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,并打印该 map 的键和键对应的值。

for range遍历map忽略key

使用 for range 遍历 map,忽略 key

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历 map var data = make(map[string]string, 3) data["module"] = "Server" data["category"] = "Python" data["site"] = "HaiCoder" for _, value := range data{ fmt.Println(value) } }

程序运行后,控制台输出如下:

28_golang for range遍历map.png

首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,同时,我们使用了匿名变量 _,来忽略 map 的键,最后,我们只打印了该 map 的元素值。

for range遍历字符串不写key

使用 for range 遍历 map,不写 key

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历map,不写key var data = make(map[string]string, 3) data["module"] = "Server" data["category"] = "Python" data["site"] = "HaiCoder" for value := range data{ fmt.Println(value) } }

程序运行后,控制台输出如下:

29_golang for range遍历map.png

首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,同时,我们没有写 key,遍历 map 在不写 key 的情况下,返回的是 map 的值。

Go语言for range遍历map总结

当使用 for range 循环(for range) 遍历 map 时,key 返回的是 map 的索引,value 返回的是 map 对应的值的拷贝。

如果我们不写 key,那么返回的就是 map 的元素的值,而不是 map 的键。