数组

元素的数目,也称为长度或者数组大小必须是固定的并且在声明该数组时就给出(编译时需要知道数组长度以便分配内存);数组长度最大为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 节)

数组传递给函数

把第一个大数组传递给函数会消耗很多内存 解决办法:

  • 传递数组的指针(不常用)
  • 使用数组的切片(推荐用法)