📌  相关文章
📜  go 多维数组 - Go 编程语言 - Go 编程语言(1)

📅  最后修改于: 2023-12-03 15:15:21.437000             🧑  作者: Mango

Go多维数组

在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语言中,可以使用数组字面量或循环进行初始化,使用多个下标进行元素访问,以及作为函数参数进行传递。