开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:二维数组的遍历方式】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9652
二维数组的遍历方式
内容介绍:
一、双层for循环完成遍历
二、for-range方式完成遍历
一、双层for循环完成遍历
1.试验代码
package main
import (
“
fmt
”
)
func main() {
//演示二维数组的遍历
var arr3 = [2][3]int{{1,2,3},{4,5,6}}
//for循环来遍历
//
for i := 0; i < 2
(这里写2,但是不能写死,所以不能直接写2)
//
for i := 0; i < len(arr3)
(用len来计算arr3,观察上面var arr3 = [2][3]int{{1,2,3},{4,5,6}}有多少函数;len(arr3)就算以及拿到了 [2]
for i := 0; i < len(arr3);i++
for j := 0; j <len(arr3[i]);j++ {
//每进来一次,var arr3 = [2][3]int{{1,2,3},{4,5,6}}
就有不同的元素个数,因为它每个元素有可能是不一样的
//假设var arr3 = [2][3]int{{1,2,3},{4,5,6}}
,第二元素里面只有两个元素var arr3 = [2][3]int{{1,2,3},{4,5,}}
也可以遍历,就使用arr3[i]来统计。
fmt.Printf(
“
%v\t,arr3[i][j]
”)
}
//每遍历一个数组之后就换一次行
fmt.Printf()
}
}
试验一下,遍历成功
2.完整代码
package main
import (
“
fmt
”
)
func main() {
//演示二维数组的遍历
var arr3 = [2][3]int{{1,2,3},{4,5,6}}
//for循环来遍历
//for i := 0; i < 2
//for i := 0; i < len(arr3)
for i := 0; i < len(arr3);i++
for j := 0; j <len(arr3[i]);j++ {
fmt.Printf(
“
%v\t,arr3[i][j]
”
)
}
fmt.Printf()
}
}
二、for-range方式完成遍历
1. 试验代码
package main
import (
“
fmt
”
)
func main() {
//演示二维数组的遍历
var arr3 = [2][3]int{{1,2,3},{4,5,6}}
//for-range 来遍历二维数组
for i, v := range arr3 {
fmt.Printf(
“
i=%v v=%v
”,i,v)
试验一下
// v这一个值就是 var arr3 = [2][3]int{{1,2,3},{4,5,6}}
里面的一维数组
但是有可能不需要这种输出,就使用另一种写法
//for-range来遍历二维数组
for i, v := range arr3 {
for j,v2 := range v {
//这里的v2就是具体的值
fmt.Printf(
“
arr3[%v][%v]=%v \t,i,j,v2)
//i就是第一个[%v],j就是第二个[%v]
}
//每遍历一个数组之后就换一次行
fmt.Printf()
}
}
试验一下
与上一个结果是一样的,只是遍历的方式不一样
2.强调点
第一次进行 for-range 的时候,for i, v := range arr3 {这里的v不是一个具体的元素的值,而是一个一维数组
3.完整代码
package main
import (
“
fmt
”
)
func main() {
//演示二维数组的遍历
var arr3 = [2][3]int{{1,2,3},{4,5,6}}
//for-range来遍历二维数组
for i, v := range arr3 {
for j,v2 := range v {
fmt.Printf(
“arr3[%v][%v]=%v \t,i,j,v2)
}
fmt.Printf()
}
}