-
数组的基本用法
- 定义数组:在Go语言中,数组是具有固定长度的数据结构,存储相同类型的元素。定义数组的语法是
[n]T
,其中n
是数组的长度,T
是元素的类型。例如,var arr [5]int
定义了一个长度为5的整数数组。 - 访问数组元素:可以通过索引来访问数组中的元素,索引从0开始。例如,对于上述数组
arr
,arr[0]
表示访问第一个元素,arr[4]
表示访问最后一个元素。如果访问超出数组范围的索引(如arr[5]
)会导致程序出现运行时错误(panic
)。 - 修改数组元素:可以通过索引来修改数组元素的值。例如,
arr[2] = 10
将数组arr
中的第三个元素(索引为2)的值修改为10。
- 定义数组:在Go语言中,数组是具有固定长度的数据结构,存储相同类型的元素。定义数组的语法是
-
数组的初始化
- 初始化方式一:逐个元素初始化:可以在定义数组后,逐个为元素赋值。例如:
var arr [3]int arr[0] = 1 arr[1] = 2 arr[2] = 3
- 初始化方式二:使用初始化列表:在定义数组时,使用花括号
{}
来提供初始值。例如,arr := [3]int{1, 2, 3}
定义并初始化了一个长度为3的整数数组。如果提供的初始值数量少于数组长度,剩余元素将被初始化为对应类型的零值。例如,arr := [5]int{1, 2}
,数组arr
的值为[1, 2, 0, 0, 0]
。如果不指定数组长度,编译器会根据初始化列表中的元素个数自动确定数组长度。例如,arr := []int{1, 2, 3}
,这里编译器会推断数组长度为3。 - 初始化方式三:使用
...
语法(仅适用于初始化列表):这种方式可以让编译器根据初始化列表自动确定数组长度。例如,arr := [...]int{1, 2, 3}
,编译器会自动确定数组长度为3。
-
多维数组
- 定义多维数组:多维数组是数组的数组。例如,二维数组的定义语法是
[n][m]T
,其中n
是外层数组的长度,m
是内层数组的长度,T
是元素的类型。例如,var matrix [3][4]int
定义了一个3行4列的二维整数数组。 - 初始化多维数组:
- 逐个元素初始化:可以像初始化一维数组一样,逐个为元素赋值。例如:
var matrix [2][3]int matrix[0][0] = 1 matrix[0][1] = 2 matrix[0][2] = 3 matrix[1][0] = 4 matrix[1][1] = 5 matrix[1][2] = 6
- 使用初始化列表初始化:例如,
matrix := [2][3]int{{1, 2, 3}, {4, 5, 6}}
,外层花括号表示行,内层花括号表示列,初始化了一个2行3列的二维整数数组。
- 访问和修改多维数组元素:通过多个索引来访问和修改元素。例如,对于上述二维数组
matrix
,matrix[1][2]
表示访问第二行第三列的元素,matrix[0][1] = 7
表示修改第一行第二列的元素的值为7。在访问和修改元素时,同样要注意索引不要超出数组的范围。
- 定义多维数组:多维数组是数组的数组。例如,二维数组的定义语法是
Go 数组
