在线文档  >   Golang练习   >   数组

在 Go 语言中,数组是一种长度固定的、由特定类型元素组成的有序集合。
在典型的 Go 代码中,更常见的是切片,数组只在某些特殊场景下才会用到。

package main

import "fmt"

func main() {

    // 在这里我们创建了一个包含 5 个 `int` 类型元素的数组 a。
    // 其中,元素类型和数组长度都是数组类型的一部分。
    // 默认情况下,数组的值是零值,对于 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)
}

运行结果如下:

$ 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 ...]的格式打印。