Go 语言数组
Go 语言提供了数组类型的数据结构。
数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型。
相对于去声明number0, number1, …, and number99的变量,使用数组形式numbers[0], numbers[1] …, numbers[99]更加方便且易于扩展。
数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。
声明数组 ¶
Go 语言数组声明需要指定元素类型及元素个数,语法格式如下:
go
1var variable_name [SIZE] variable_type
以上为一维数组的定义方式。数组长度必须是整数且大于 0。例如以下定义了数组 balance 长度为 10 类型为 float32:
go
1var balance [10] float32
初始化数组
以下演示了数组初始化:
go
1var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
初始化数组中 {} 中的元素个数不能大于 [] 中的数字。
如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:
go
1var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}
该实例与上面的实例是一样的,虽然没有设置数组的大小。
go
1balance[4] = 50.0
以上实例读取了第五个元素。数组元素可以通过索引(位置)来读取(或者修改),索引从0开始,第一个元素索引为 0,第二个索引为 1,以此类推。
访问数组元素 ¶
数组元素可以通过索引(位置)来读取。格式为数组名后加中括号,中括号中为索引的值。例如:
go
1float32 salary = balance[9]
以上实例读取了数组balance第10个元素的值。
以下演示了数组完整操作(声明、赋值、访问)的实例:
go
1package main
2
3import "fmt"
4
5func main() {
6 var n [10]int /* n 是一个长度为 10 的数组 */
7 var i,j int
8
9 /* 为数组 n 初始化元素 */
10 for i = 0; i < 10; i++ {
11 n[i] = i + 100 /* 设置元素为 i + 100 */
12 }
13 /* 输出每个数组元素的值 */
14 for j = 0; j < 10; j++ {
15 fmt.Printf("Element[%d] = %d\n", j, n[j] )
16 }
17}
以上实例执行结果如下:
bash
1Element[0] = 100
2Element[1] = 101
3Element[2] = 102
4Element[3] = 103
5Element[4] = 104
6Element[5] = 105
7Element[6] = 106
8Element[7] = 107
9Element[8] = 108
10Element[9] = 109
更多内容 ¶
数组对 Go 语言来说是非常重要的,以下我们将介绍数组更多的内容:
内容 | 描述 |
---|---|
多维数组 | Go 语言支持多维数组,最简单的多维数组是二维数组 |
向函数传递数组 | 你可以像函数传递数组参数 |