Go语言多维切片遍历

Go语言多维切片遍历教程

Go 语言 的多维切片的遍历,有两种方式,分别为:通过 for 循环 与 通过 for range 循环 的方式。

for循环遍历多维切片

语法

for i := 0; i < len(slice); i++ { //slice[i] for j := 0; j < len(slice[i]); j++{ //slice[i][j] } }

说明

我们通过 len 函数,获取切片元素的个数,然后通过 for循环加索引的形式获取每一个切片元素的值。

for range循环遍历切片

语法

for index, value := range sliceHaiCoder{ for index2, value2 := range sliceHaiCoder[index]{ } }

说明

通过 for range 的形式来遍历切片元素,index 即是切片的索引,value 是切片的索引 index 处对应的切片的值。如果我们不需要索引或者值,可以通过 _ 的形式忽略。

案例

for循环多维切片遍历

我们可以通过 for 循环加索引的形式遍历二维切片

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //我们可以通过 for循环加索引的形式遍历二维切片 var sliceHaiCoder = [][]string{{"JavaScript", "Vue"}, {"Python", "Golang"}} for i := 0; i < len(sliceHaiCoder); i++{ for j := 0; j < len(sliceHaiCoder[i]); j++{ fmt.Println("Value =", sliceHaiCoder[i][j]) } } }

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

56 golang多维切片遍历.png

我们创建了一个两行两列的二维切片,并使用初始化的方式给切片赋初值。接着,我们使用 for 循环的形式遍历切片的每一个元素。

for range循环多维切片遍历

我们可以通过 for range 循环的形式遍历多维切片

package main import ( "fmt" ) func main() { fmt.Println("嗨客网(www.haicoder.net)") //我们可以通过 for range循环的形式遍历多维切片 var sliceHaiCoder = [][]string{{"JavaScript", "Vue"}, {"Python", "Golang"}} for index, value := range sliceHaiCoder{ for index2, value2 := range sliceHaiCoder[index]{ fmt.Println("Index =", index, "Index2 =", index2, "Value1 =", value, "Value2 =", value2) } } }

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

57 golang多维切片遍历.png

我们创建了一个两行两列的二维切片,并使用初始化的方式给切片赋初值。接着,我们使用 for range 循环的形式遍历切片的每一个元素。

Go语言多维切片遍历总结

Go 语言的多维切片的遍历,有两种方式,分别为:通过 for 循环与通过 for range 循环的方式。Go 语言 for 循环遍历切片:

for i := 0; i < len(slice); i++ { //slice[i] for j := 0; j < len(slice[i]); j++{ //slice[i][j] } }

Go 语言 for range 循环遍历切片:

for index, value := range sliceHaiCoder{ for index2, value2 := range sliceHaiCoder[index]{ } }