目录

arr_alice


arr_alice

1 array

Go 中的数组是一种特定类型且长度固定的数据结构。 它们可具有零个或多个元素,你必须在声明或初始化它们时定义大小。 此外,它们一旦创建,就无法调整大小。 鉴于这些原因,数组在 Go 程序中并不常用,但它们是切片和映射的基础。

2 声明数组

var a [3]int
a[1] = 10
fmt.Println(a[0])
fmt.Println(a[1])
fmt.Println(a[len(a)-1])

默认情况下,Go 会用默认数据类型初始化每个元素

3 初始化数组

声明数组时,还可使用非默认值来初始化数组。 例如,你可使用以下代码来查看和测试语法:

cities := [5]string{"New York", "Paris", "Berlin", "Madrid"}
fmt.Println("Cities:", cities)

如果你不知道你将需要多少个位置,但知道数据元素集,那么还有一种声明和初始化数组的方法是使用省略号 (…)

cities := [...]string{"New York", "Paris", "Berlin", "Madrid"}

另一种有趣的数组初始化方法是使用省略号并仅为最后一个位置指定值。 例如,使用以下代码:

    numbers := [...]int{99: -1}

4 多维数组

如果需要处理复杂数据结构,请记住 Go 支持多维数组。 让我们创建一个程序,在其中声明和初始化一个二维数组。

var twoD [3][5]int
for i := 0; i < 3; i++ {
    for j := 0; j < 5; j++ {
        twoD[i][j] = (i + 1) * (j + 1)
    }
    fmt.Println("Row", i, twoD[i])
}