2.2 数组

数组是具有相同 唯一类型 的一组已编号且长度固定的数据项序列(这是一种同构的数据结构);数组长度必须是一个常量表达式,并且必须是一个非负整数。如果想实现可变长度可采用切片(slices),这个稍后会讲。

声明的格式是:

  1. var identifier [len]type

例如:

  1. var arr1 [5]int
  2. for i:=0; i < len(arr1); i++ {
  3. arr1[i] = i * 2
  4. }

初始化

  1. var a = [10]int{1,2,3,4,5,6,7,8,9,0}
  2. var a = [10]int{1,2,3,4}                //不足自动补0
  1. //创建数组不声明长度
  2. a := [...]int{1,2,3,4,5}

遍历数组

  1. //第一种
  2. for i := 0; i < len(a); i++ {
  3. fmt.Println(a[i])
  4. }
  5. //第二种
  6. for _, e := range a {
  7. fmt.Println(e)
  8. }

统计数组长度

  1. len(a)

多维数组

  1. //初始化:
  2. var a = [3][4]int{[4]int{1,2,3},[4]int{1,2,3},[4]int{1,2}} //不足补0
  3. 打印结果:
  4. [[1 2 3 0] [1 2 3 0] [1 2 0 0]]
  1. var array [2][2]int
  2. array[0][0] = 0
  3. array[0][1] = 1
  4. array[1][0] = 2
  5. array[1][1] = 3

links