前面定义的数组只有一个下标,称之为一维数组,如果有两个下标,称之为二维数组。

关于二维数组,只要了解其基本使用就可以。

二维数组的定义如下:

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 数组名        = [...][大小]类型{{初值..},{初值..}}