Go语言提供了数组类型的数据结构。数组是一组已编号的、长度固定的数据项序列,具有相同的唯一类型,可以是任意的原始类型,例如整型、字符串或自定义类型。
相对于声明number0、number1、...、number99的变量,使用数组形式numbers[0]、numbers[1]、...、numbers[99]更加方便且易于扩展。数组元素可以通过索引(位置)来读取或者修改,索引从0开始,第一个元素索引为0,第二个索引为1,以此类推。
Go语言数组声明需要指定元素类型及元素个数,语法格式如下:
var variable_name [SIZE] variable_type
以上为一维数组的定义方式。例如,以下定义了数组balance长度为10,类型为float32:
var balance [10]float32
数组可以通过字面量在声明的同时快速初始化,例如:
balance := [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
如果数组长度不确定,可以使用...代替数组的长度,编译器会根据元素个数自行推断数组的长度,例如:
var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
如果设置了数组的长度,我们还可以通过指定下标来初始化元素,例如:
// 将索引为 1 和 3 的元素初始化 balance := [5]float32{1:2.0,3:7.0}
数组元素可以通过索引(位置)来读取或者修改,格式为数组名后加中括号,中括号中为索引的值。例如:
var salary float32 = balance[9]
Go语言支持多维数组,最简单的多维数组是二维数组。你可以向函数传递数组参数。