数组
元素的数目,也称为长度或者数组大小必须是固定的并且在声明该数组时就给出(编译时需要知道数组长度以便分配内存);数组长度最大为2Gb
[5]int
和 [10]int
是属于不同类型
Go 语言中的数组是一种 值类型,当把数组赋值给另一个变量时,是进行拷贝操作,如果想修改原数组,那么必须要通过 &
操作符传递
// arr1 的类型是 *[5]int
var arr1 = new([5]int)
// arr2 的类型是 [5]int
var arr2 [5]int
多维数组
Go 语言的多维数组是矩形式的(唯一的例外是切片的数组,参见第 7.2.5 节)
数组传递给函数
把第一个大数组传递给函数会消耗很多内存 解决办法:
- 传递数组的指针(不常用)
- 使用数组的切片(推荐用法)