概念简介
在 Go语言中,数组 是一个具有固定长度且编号的元素序列。
例程代码
package main
import "fmt"
func main() {
// 这里我们创建了一个数组 `a` 来存放刚好 5 个 `int`。
// 元素的类型和长度都是数组类型的一部分。数组默认是
// 零值的,对于 `int` 数组来说也就是 `0`。
var a [5]int
fmt.Println("emp:", a)
// 我们可以使用 `array[index] = value` 语法来设置数组
// 指定位置的值,或者用 `array[index]` 得到值。
a[4] = 100
fmt.Println("set:", a)
fmt.Println("get:", a[4])
// 使用内置函数 `len` 返回数组的长度。
fmt.Println("len:", len(a))
// 使用这个语法在一行内声明并初始化一个数组。
b := [5]int{1, 2, 3, 4, 5}
fmt.Println("dcl:", b)
// 数组类型是一维的,但是你可以组合
// 构造多维的数据结构。
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("2d: ", twoD)
}
执行&输出
# 注意,在使用 `fmt.Println` 来打印数组的时候,会使用
# `[v1 v2 v3 ...]` 的格式显示。
$ go run arrays.go
emp: [0 0 0 0 0]
set: [0 0 0 0 100]
get: 100
len: 5
dcl: [1 2 3 4 5]
2d: [[0 1 2] [1 2 3]]
# 在 Go 程序中,相对于数组而言,_切片(slice)_ 使用
# 的更多。下面我们讨论切片。
课程导航
学习上一篇:Go语言教程:switch分支结构 学习下一篇:Go语言教程:slice切片
相关资料
本例程github源代码:https://github.com/xg-wang/gobyexample/tree/master/examples/arrays