📅  最后修改于: 2023-12-03 15:15:21.437000             🧑  作者: Mango
在Go语言中,多维数组是由若干个一维数组按照一定规律组合而成的数据结构。这些一维数组可以看做是多层Array,因此也被称为多维Array。
定义多维数组的语法如下:
var array_name [size1][size2]...[sizeN]datatype
其中,array_name 为多维数组的名称,size1、size2、...、sizeN 为每一维数组的大小,datatype 为每个元素的数据类型。
例如,定义一个二维数组 arr:
var arr [3][4]int
这将创建一个3行4列的二维数组,每个元素的数据类型是 int。
初始化多维数组的方式和一维数组类似,可以使用数组字面量或循环进行初始化。例如,初始化上述 arr 数组:
// 使用数组字面量初始化
arr := [3][4]int{{0,1,2,3}, {4,5,6,7}, {8,9,10,11}}
// 使用循环初始化
for i := 0; i < len(arr); i++ {
for j := 0; j < len(arr[i]); j++ {
arr[i][j] = i * len(arr[i]) + j
}
}
访问多维数组元素需要使用多个下标,每个下标对应一个数组维度。例如,访问 arr 的第二行第三列元素:
val := arr[1][2]
在Go语言中,多维数组可以作为函数参数进行传递。例如,定义一个函数 printArray,接受一个二维数组作为参数,并打印其中的元素:
func printArray(arr [3][4]int) {
for i := 0; i < len(arr); i++ {
for j := 0; j < len(arr[i]); j++ {
fmt.Printf("%d ", arr[i][j])
}
fmt.Printf("\n")
}
}
// 调用函数 printArray
arr := [3][4]int{{0,1,2,3}, {4,5,6,7}, {8,9,10,11}}
printArray(arr)
输出结果:
0 1 2 3
4 5 6 7
8 9 10 11
多维数组是一种方便存储和操作多层数据的数据结构。在Go语言中,可以使用数组字面量或循环进行初始化,使用多个下标进行元素访问,以及作为函数参数进行传递。