Go 语言 二维数组的使用
一、二维数组快速入门:
入门案例:
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
代码演示:
package main
import "fmt"
func main() {
// 二维数组的入门案例
/*
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
*/
// 1.声明一个二维数组, 若声明后, 不赋值 数组里零值代替
var arr [4][6]int
// 2.赋值
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
// 3.遍历数组, 按照案例输出图形
for i := 0; i < len(arr); i++ { // 遍历的是二维数组
for j := 0; j < len(arr[i]); j ++{ // 遍历的是二维数组里面的一维数组
fmt.Print(arr[i][j], " ")
}
fmt.Println()
}
}
二、使用方式:
-
先声明/定义,在赋值:
如上快速入门案例
-
直接初始化:
package main import "fmt" func main() { // 二维数组, 直接初始化 var arr = [2][3]int{{0, 1, 2}, {3, 4, 5}} fmt.Println("arr", arr) }
三、二维数组遍历:
-
双层 for 循环完成遍历:
package main import "fmt" func main() { // 二维数组 for 循环遍历 var arr = [2][3]int{{0, 1, 2}, {3, 4, 5}} for i := 0; i < len(arr); i++ { for j := 0; j < len(arr[i]); j ++ { fmt.Printf("%v\t", arr[i][j]) } fmt.Println() } } // 输出结果: 0 1 2 3 4 5
-
使用 for-range 方式完成遍历:
package main import "fmt" func main() { // 二维数组 for-range 进行遍历 var arr = [2][3]int{{0, 1, 2}, {3, 4, 5}} // i 是二维数组小标, v 是二维数组里面的一维数组 for i, v := range arr{ for j, v2 := range v { fmt.Printf("arr[%v][%v]=%v\t", i, j, v2) } fmt.Println() } } // 输出结果: arr[0][0]=0 arr[0][1]=1 arr[0][2]=2 arr[1][0]=3 arr[1][1]=4 arr[1][2]=5