Go语言的数组是一个定长的序列,数组包含的元素的类型相同。
package main
import "fmt"
func main() {
// 这里我们创建了一个具有5个元素的整型(int)数组
// 元素的数据类型和数组长度都是数组类型的一部分
// 默认情况下,数组元素都是零值。
// 对于整数,零值就是0
var a [5]int
fmt.Println("emp:", a)
// 我们可以使用索引值(index)来设置数组元素的值,就像这样"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)
}
输出
$ 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]]当你使用fmt.Println输出数组时候,你会发现数组会以[v1,v2,v3...]形式被打印。
在经典的Go语言中,相比与数组(Array)你会更多的遇到切片(slice)。
要了解更多关于数组,请查看学习Golang语言(5): 类型--数组
下一个章节将会讲解切片。
下一个例子: Go by Example: Slices.