Go语言多维数组
由于数据的复杂程度不一样,数组可能有多个下标。一般将数组元素下标的个数称为维数,根据维数,可将数组分为一维数组、二维数组、三维数组、四维数组等。二维及以上的数组可称为多维数组。
Go语言的多维数组声明方式如下所示:
二维数组是最简单的多维数组,二维数组的本质也是一个一维数组,只是数组成员由基本数据类型变成了构造数据类型(一维数组)。
二维数组的定义方式如下。

图:二维数组
二维数组元素通过指定坐标来访问,如数组中的行索引与列索引,语法格式如下。
二维数组可以使用循环嵌套来输出元素,具体语法通过案例演示,如下所示。
定义三维数组的语法格式如下。
声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。
Go语言的多维数组声明方式如下所示:
var variable_name [SIZE1] [SIZE2]...[SIZEn] variable_type
1、二维数组
在实际的工作中,仅仅使用一维数组是远远不够的,例如,一个学习小组有 10 个人,每个人有 3 门课的考试成绩,如果使用一维数组解决是很麻烦的。这时,可以使用二维数组。二维数组是最简单的多维数组,二维数组的本质也是一个一维数组,只是数组成员由基本数据类型变成了构造数据类型(一维数组)。
二维数组的定义方式如下。
var arrayName [x][y] variable_type
二维数组初始化,语法格式如下。
a := [3][4]int{
{0, 1, 2, 3}, /* 第一行索引为0 */
{4, 5, 6, 7}, /* 第二行索引为1 */
{8, 9, 10, 11}/* 第三行索引为2 */
}

图:二维数组
二维数组元素通过指定坐标来访问,如数组中的行索引与列索引,语法格式如下。
int val = a[2][3]
以上代码访问了二维数组 val 第 3 行的第 4 个元素。二维数组可以使用循环嵌套来输出元素,具体语法通过案例演示,如下所示。
package main import "fmt" func main(){ /*数组 - 5 行 2 列*/ var a = [5][2]int{{0, 0}, {1, 2}, {2, 4}, {3, 6}, {4, 8}} fmt.Println(len(a)) fmt.Println(len(a[0])) /*输出数组元素*/ for i := 0; i < len(a); i++ { for j := 0; j < len(a[0]); j++ { fmt.Printf("a[%d][%d] = %d \n", i, j, a[i][j]) } } }运行结果如下:
5
2
a[0][0] = 0
a[0][1] = 0
a[1][0] = 1
a[1][1] = 2
a[2][0] = 2
a[2][1] = 4
a[3][0] = 3
a[3][1] = 6
a[4][0] = 4
a[4][1] = 8
2、三维数组
三维数组的本质也是一个一维数组,只是数组成员由基本数据类型变成了构造数据类型(二维数组),如同阅兵仪式的多个方阵。定义三维数组的语法格式如下。
var threedim [5][10][4]int
多维数组在实际的工作中极少使用,并且使用方法与二维数组相似,这里不再做详细的讲解,有兴趣的读者可以自己学习。声明:《Go系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。