Go 语言 - 数组
数组是具有相同唯一类型的一组已编号且长度固定的数据项序列,这种类型可以是任意的原始类型例如整形、字符串或者自定义类型
相对于去声明 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: 简单教程(www.twle.cn) * Copyright © 2015-2065 www.twle.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 语言支持多维数组,最简单的多维数组是二维数组 |
向函数传递数组 | 可以向函数传递数组参数 |