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