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) {
      //...
    }
    

相关