go 数组
array
- 数组是具有相同类型,长度固定,已编号的数据项序列
- 可通过索引来读写数组元素
- 声明数组需要指定类型和元素个数
var arr_name [size] arr_type
- 也可使用
[...]
让编译器统计数组字面值中元素的数目
数组初始化
- 数组不需要显式初始化,可以直接使用使用数组的零值,数组元素会自动初始化为对应类型的零值
var arr1 = [5]float32{1, 2.0, 3.1, 4, 5.4}
,也可写成var arr1 = [...]float32{1, 2.0, 3.1, 4, 5.4}
{}
中的元素个数不能大于[]
的数字
多维数组
- 多维数组声明
var arr_name [size1] [size2]...[sizen] arr_type
数组作为函数参数
- 传递数组的时候,会复制整个数组,为了避免复制,可以传递数组指针
- 未定义长度的数组只能传给不限制数组长度的函数
- 长度已定义的数组只能传给限制了相同数组长度的函数
形参设定数组大小
func myFunc(arr [10] int) { //... }
形参未设定数组大小
func myFunc(arr [] int) { //... }