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

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

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

以上为一维数组的定义方式。如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:

该实例与上面的实例是一样的,虽然没有设置数组的大小。

以上实例读取了第五个元素。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。

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

以上实例读取了数组balance第10个元素的值。

以下演示了数组完整操作(声明、赋值、访问)的实例:

数组对 Go 语言来说是非常重要的,以下我们将介绍数组更多的内容:

根据上一行的内容,来获取下一行的内容并打印出来。

长度为5的数组,其元素值依次为:1,2,3,4,5。

在初始化时没有指定初值的元素将会赋值为其元素类型 int 的默认值0,string 的默认值是 ""。

长度为 5 的数组,其长度是根据初始化时指定的元素个数决定的。

长度为 5 的数组,key:value,其元素值依次为:0,0,1,2,3。在初始化时指定了 2,3,4 索引中对应的值:1,2,3

长度为5的数组,起元素值依次为:0,0,1,0,3。由于指定了最大索引 4 对应的值 3,根据初始化的元素个 数确定其长度为5赋值与使用。

切片可以通过数组来初始化,也可以通过内置函数 make() 初始化。

初始化时 len=cap,在追加元素时如果容量 cap 不足时将按 len 的 2 倍扩容。