Go语言二维数组

1. 二维数组的使用

一、二二维数组的应用:

比如开发一个五子棋游戏,棋盘是需要二维数组来表示,如图:

image-20240518154057515

2. 定义一个二维数组

2.1 先声明\定义,再赋值

1
2
var 数组名 [大小][大小]类型
var arr [2][3]int

2.2 直接初始化

1
2
3
4
var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值...},{初值...}}
var 数组名 [大小][大小]类型 = [...][大小]类型{{初值...},{初值...}}
var 数组名 = [大小][大小]类型{{初值...},{初值...}}
var 数组名 = [...][大小]类型{{初值...},{初值...}}

3. 案例展示

3.1 请用二维数组输出如下图形

1
2
3
4
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package main

import "fmt"

func main() {
//定义声明二维数组
var arr [4][6]int
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
//遍历二维数组,按照要求输出图形
for i := 0; i < 4; i++ {
for j := 0; j < 6; j++ {
fmt.Printf("%d ", arr[i][j])
}
fmt.Println()
}
}

/*
0 0 0 0 0 0
0 0 1 0 0 0
0 2 0 3 0 0
0 0 0 0 0 0
*/

3.2 二维数组遍历

  1. 双层for循环
  2. for-range遍历
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package main

import "fmt"

func main() {
//演示二维数组的遍历
var arr3 = [2][3]int{{1, 2, 3}, {4, 5, 6}}
for i := 0; i < len(arr3); i++ {
for j := 0; j < len(arr3[i]); j++ {
fmt.Printf("%d ", arr3[i][j])
}
fmt.Println() //进行换行,使得输出结果看起来整齐清晰
}
for a, b := range arr3 {
for c, d := range b {
fmt.Printf("arr3[%v][%v]=%v\t", a, c, d)
}
fmt.Println()
}
}

/*
1 2 3
4 5 6
arr3[0][0]=1 arr3[0][1]=2 arr3[0][2]=3
arr3[1][0]=4 arr3[1][1]=5 arr3[1][2]=6
*/

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!