Go语言的数组
数组是一种由相同类型元素组成的固定长度的序列,它在内存中占用一块连续的空间,可以通过索引快速访问其中的元素。Go语言中的数组是一种值类型,它的长度是类型的一部分,不能动态改变。本文将介绍Go语言中数组的声明、初始化、访问、遍历和传递等操作。
声明数组
Go语言中声明一个数组的语法如下:
var array_name [size]element_type
其中,array_name
是数组的名称,size
是数组的长度,element_type
是数组元素的类型。例如,下面的代码声明了一个长度为10,元素类型为整数的数组:
var arr [10]int
如果不指定数组的长度,而是使用...
代替,那么Go语言会根据初始化时提供的元素个数来推断数组的长度。例如:
var arr = [...]int{
1, 2, 3} // 等价于 var arr = [3]int{1, 2, 3}
如果只想声明一个数组,而不初始化它,那么可以省略等号和花括号。例如:
var arr [10]int // 声明一个长度为10,元素类型为整数的数组,默认值为0
初始化数组
Go语言中初始化一个数组的语法如下:
var array_name = [size]element_type{
element_list}
其中,array_name
是数组的名称,size
是数组的长度,element_type
是数组元素的类型,element_list
是用逗号分隔的元素列表。例如,下面的代码初始化了一个长度为5,元素类型为浮点数的数组:
var balance = [5]float32{
1000.0, 2.0, 3.4, 7.0, 50.0}
如果省略了size
和element_type
,那么可以使用短变量声明(:=)来初始化一个数组。例如:
balance := [5]float32{
1000.0, 2.0, 3.4, 7.0, 50.0}
如果省略了size
,而保留了element_type
,那么可以使用...
来让Go语言推断数组的长度。例如:
balance := [...]float32{
1000.0, 2.0, 3.4, 7.0, 50.0} // 等价于 balance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
如果只想初始化某些特定位置的元素,而其他位置保持默认