GO 二维数组

要创建2D数组,我们必须指定每个维度。
然后,我们可以在数组中分配单个元素。

这里我们将创建了2乘2的字符串数组。

Go 中的数组具有固定大小。 我们必须指定数组的大小。 如果是可变大小的集合,使用切片(slice)更好。

创建二维数组的 Golang 程序

package main

import "fmt"

func main() {
    //创建二维数组。
    letters := [2][2]string{}

    //分配 2 x 2 数组中的所有元素。
    letters[0][0] = "a"
    letters[0][1] = "b"
    letters[1][0] = "c"
    letters[1][1] = "d"

    //查看结果
    fmt.Println(letters)
}

[[a b] [c d]]
Golang 2D切片和数组

在Go语言中,我们使用切片的切片模拟二维事物。

添加数据

要创建2D切片,我们将使用Append()添加每行。
然后我们可以通过索引通过切片来访问数据。

GO 切片示例

package main

import "fmt"

func main() {
    //第 1 步:创建空集合。
    values := [][]int{}

    //第 2 步:这些是前两行。
    //将每一行附加到二维切片。
    row1 := []int{1, 2, 3}
    row2 := []int{4, 5, 6}
    values = append(values, row1)
    values = append(values, row2)

    //第三步:显示第一行和第二行。
    fmt.Println("Row 1")
    fmt.Println(values[0])
    fmt.Println("Row 2")
    fmt.Println(values[1])

    //第 4 步:访问一个元素。
    fmt.Println("First element")
    fmt.Println(values[0][0])
}

输出:

Row 1
[1 2 3]
Row 2
[4 5 6]
First element
1

GO 嵌套字符串切片

其中我们在嵌套切片中使用字符串。
每个切片都没有相同的长度:这是一个锯齿状切片。

使用嵌套字符串切片的 Golang 程序

package main

import "fmt"

func main() {
    //创建一个空切片。
    animals := [][]string{}

    //创建三个字符串切片。
    row1 := []string{"fish", "shark", "eel"}
    row2 := []string{"bird"}
    row3 := []string{"lizard", "salamander"}

    //将字符串切片附加到外部切片。
    animals = append(animals, row1)
    animals = append(animals, row2)
    animals = append(animals, row3)

    //在animals切片上循环。
    for i := range animals {
        fmt.Printf("Row: %v\n", i)
        fmt.Println(animals[i])
    }
}

输出结果

Row: 0
[fish shark eel]
Row: 1
[bird]
Row: 2
[lizard salamander]
日期:2020-06-02 22:15:03 来源:oir作者:oir