📅  最后修改于: 2023-12-03 15:00:59.968000             🧑  作者: Mango
在Go中,我们可以创建多维数组,包括二维数组。二维数组是由若干个一维数组组成的,它的特点在于每个一维数组的大小相同。
我们可以通过以下方式创建一个二维数组:
var arr [3][3]int
这个语句创建了一个3x3的二维数组,其中每个元素的类型是int。我们可以使用下标来访问数组中的元素,如下所示:
arr[0][0] = 1
arr[0][1] = 2
arr[0][2] = 3
arr[1][0] = 4
arr[1][1] = 5
arr[1][2] = 6
arr[2][0] = 7
arr[2][1] = 8
arr[2][2] = 9
遍历一个二维数组可以使用嵌套循环。以下是一个例子:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
fmt.Printf("%d ", arr[i][j])
}
fmt.Printf("\n")
}
输出:
1 2 3
4 5 6
7 8 9
Go语言中的切片除了支持一维数组的切片外,还支持多维数组的切片。例如:
slice := arr[0:2][0:2]
这个语句创建了一个二维数组的切片,包含从arr[0][0]到arr[1][1]的元素。我们也可以使用append()函数向二维数组中添加元素。例如:
slice := [][]int{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}
slice = append(slice, []int{10, 11, 12})
这个语句向slice中添加了一个一维数组[10, 11, 12]。
Go语言中的二维数组几乎与一维数组相同,只是多了一层。我们可以使用嵌套循环访问和修改二维数组中的值,并且还可以使用切片来支持动态地添加元素。