Go by Example 中文版:数组

在 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) 使用 的更多。下面我们讨论切片。

下一个例子: 切片.