Go 语言 的键值 for 循环 使用的是 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 _, value := range data{
//
}
如果,在循环中我们不需要 key 的数据,那么我们可以使用 匿名变量 的形式,来忽略 key 的值。这里的 value 就是 map 的元素的拷贝。
for value := range data{
//
}
Go 语言 for range 循环也可以支持不写 key 的情况,即只写一个 value。这里的 value 就是 map 的键。
当使用 for range 循环(for range) 遍历 map 时,key 返回的是 map 的索引,value 返回的是索引对应的值的拷贝。
如果我们不写 key,那么返回的就是 map 的 key,而不是 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)
}
}
程序运行后,控制台输出如下:
首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,并打印该 map 的键和键对应的值。
使用 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)
}
}
程序运行后,控制台输出如下:
首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,同时,我们使用了匿名变量 _
,来忽略 map 的键,最后,我们只打印了该 map 的元素值。
使用 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)
}
}
程序运行后,控制台输出如下:
首先,我们定义了一个 map 变量 data,接着我们使用 for range 来遍历该 map,同时,我们没有写 key,遍历 map 在不写 key 的情况下,返回的是 map 的值。
当使用 for range 循环(for range) 遍历 map 时,key 返回的是 map 的索引,value 返回的是 map 对应的值的拷贝。
如果我们不写 key,那么返回的就是 map 的元素的值,而不是 map 的键。