前面定义的数组只有一个下标,称之为一维数组,如果有两个下标,称之为二维数组。
关于二维数组,只要了解其基本使用就可以。
二维数组的定义如下:
b := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
可以理解数组b有3行4列构成,共能够存储12组数据。
//部分初始化,没有初始化的值为0
c := [3][4]int{{1, 2, 3}, {5, 6, 7, 8}, {9, 10}}
d := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}}
e := [3][4]int{1: {5, 6, 7, 8}}//对第二列进行初始化,其它采用默认值
。
由于二维数组是有行与列构成的,所以通过for循环进行初始化,需要循环嵌套,如下所示:
总结:有多少个[ ]就是多少维
有多少个[ ]就用多少个循环
二维数组的介绍
多维数组我们只介绍二维数组
二维数组的应用场景
比如我们开发一个五子棋游戏,棋盘就是需要二维数组来表示。如图
二维数组快速入门
快速入门案例:
Ø 请用二维数组输出如下图形
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 数组名 [大小][大小]类型
Ø 比如: var arr [2][3]int , 再赋值。
Ø 使用演示
Ø 二维数组在内存的存在形式(重点)
使用方式 2: 直接初始化
Ø 声明:var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值..},{初值..}}
Ø 赋值(有默认值,比如 int 类型的就是 0)
Ø 使用演示
Ø 说明:二维数组在声明/定义时也对应有四种写法[和一维数组类似] var 数组名 [大小][大小]类型 = [大小][大小]类型{{初值..},{初值..}}
var 数组名 [大小][大小]类型 = […][大小]类型{{初值..},{初值..}} var 数组名 = [大小][大小]类型{{初值..},{初值..}}
var 数组名 = […][大小]类型{{初值..},{初值..}}