Skip to content

数组

在 Go 中,数组 是一个具有编号且长度固定的元素序列。

代码示例

package main

import "fmt"

func main() {
    // 创建了一个刚好可以存放 5 个 int 元素的数组 a。 元素的类型和长度都是数组类型的一部分。 数组默认值是零值,对于 int 数组来说,元素的零值是 0。
    var a [5]int
    fmt.Println("空数组:", a)

    // 可以使用 array[index] = value 语法来设置数组指定位置的值, 或者用 array[index] 得到值。
    a[4] = 100
    fmt.Println("插入下标4为100:", a)
    fmt.Println("取出下标4:", a[4])

    // 内置函数 len 可以返回数组的长度。
    fmt.Println("长度:", len(a))

    // 使用这个语法在一行内声明并初始化一个数组。
    b := [5]int{1, 2, 3, 4, 5}
    fmt.Println("一行内申明并初始化一个数组:", 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("二维数组", twoD)
}

执行结果

# 注意,使用 fmt.Println 打印数组时,会按照 [v1 v2 v3 ...] 的格式打印。
$ go run arrays.go
空数组: [0 0 0 0 0]
插入下标4为100: [0 0 0 0 100]
取出下标4: 100
长度: 5
一行内申明并初始化一个数组: [1 2 3 4 5]
二维数组 [[0 1 2] [1 2 3]]