数组是具有唯一类型的一组已编号且长度固定的数据序列,这种类型可以是任意的原始类型例如整数、字符串或者自定义类型。

相对于去声明number0、number1、…,andnumber99的变量,使用数组形式numbers[0],numnbers[1],…,numbers[99]更加方便且易于扩展。

数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第二个索引为1,以此类推。
Golang 数组 - 图1

数组声明

Go语言数组声明需要指定元素类型及元素个数,语法格式如下:

  1. var variable_name [SIZE] variable_type

以上为一维数组的定义方式。数组长度必须是整数且大于0.例如以下定义了数组balance长度为10类型为float32:

  1. var balance [10] float32

初始化数组

以下演示了数组初始化:

  1. var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

初始化数组中{}中的元素个数不能大于[]中的数字。
如果忽略[]的数字不设置数组大小,Go语言会根据元素的个数来设置数组的大小:

  1. var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

访问数组元素

数组元素可以通过索引(位置)来读取。格式为数组名后中括号,中括号中为索引的值。例如:

  1. float32 salary = balance[9]

实例

  1. package main
  2. import "fmt"
  3. func main() {
  4. var n [10]int /* n 是一个长度为 10 的数组 */
  5. var i,j int
  6. /* 为数组 n 初始化元素 */
  7. for i = 0; i < 10; i++ {
  8. n[i] = i + 100 /* 设置元素为 i + 100 */
  9. }
  10. /* 输出每个数组元素的值 */
  11. for j = 0; j < 10; j++ {
  12. fmt.Printf("Element[%d] = %d\n", j, n[j] )
  13. }
  14. }

执行结果为:

  1. Element[0] = 100
  2. Element[1] = 101
  3. Element[2] = 102
  4. Element[3] = 103
  5. Element[4] = 104
  6. Element[5] = 105
  7. Element[6] = 106
  8. Element[7] = 107
  9. Element[8] = 108
  10. Element[9] = 109

Golang 数组 - 图2