Go语言for range遍历切片

Go语言for range遍历切片教程

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

for range遍历切片

语法

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

参数

参数 描述
for for range 循环使用的关键字。
key for range 循环返回的切片的索引。
value for range 循环返回切片的值的拷贝。
range for range 循环使用的关键字。
slice for range 循环需要遍历的切片数据。

说明

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

for range遍历切片忽略key

语法

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

说明

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

for range遍历切片不写key

语法

for value := range data{ // }

说明

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

Go语言for range循环说明

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

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

案例

for range遍历切片

使用 for range 遍历切片

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历切片 var slice = make([]string, 0, 3) slice = append(slice, "Hello") slice = append(slice, "嗨客网") slice = append(slice, "HaiCoder") for key, value := range slice{ fmt.Println(key, "===========>", value) } }

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

24_golang for range遍历切片.png

首先,我们定义了一个切片 变量 slice,接着我们使用 for range 来遍历该切片,并打印该切片的索引和索引对应的值。

for range遍历切片忽略key

使用 for range 遍历切片,忽略 key

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历切片,忽略key var slice = make([]string, 0, 3) slice = append(slice, "Hello") slice = append(slice, "嗨客网") slice = append(slice, "HaiCoder") for _, value := range slice{ fmt.Println(value) } }

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

25_golang for range遍历切片.png

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

for range遍历字符串不写key

使用 for range 遍历切片,不写 key

package main import "fmt" func main() { fmt.Println("嗨客网(www.haicoder.net)") // 使用for range遍历切片,不写key var slice = make([]string, 0, 3) slice = append(slice, "Hello") slice = append(slice, "嗨客网") slice = append(slice, "HaiCoder") for value := range slice{ fmt.Println(value) } }

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

26_golang for range遍历切片.png

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

Go语言for range遍历切片总结

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

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