Golang程序打印一个二维数组

Golang程序打印一个二维数组

二维数组常用于Go中。例如,在表格中存储数据需要一个二维数组。在本教程中,我们将讨论在Golang编程中打印二维数组的方法。

但在写这段代码之前,让我们简单地讨论一下二维数组的问题。

什么是二维阵列

二维数组是由行和列组成的。它的性质类似于一个有固定长度的普通数组。它在性质上是同质的,也就是说,存储在二维数组中的所有元素都应该是相同的数据类型。

如果一个二维数组有’r’行和’c’列,那么数组中的第一个元素被存储在(0,0)索引处,最后一个元素位于(r-1,c-1)索引处。

示例

  • 行=3,列=3
    • 数组的第一个值将在(0,0)索引处,而
    • 最后一个值将在(行-1,列-1)索引处,即(2,2)索引处。

微信截图_20230130165944.png

例1:打印带有1-9数字的二维数组。

算法

  • 第1步 – 声明一个多维数组’arr’,其中存储了一些元素。
  • 第2步–创建一个从0开始的for循环(因为数组索引从0开始),并运行它直到小于行数。

  • 第3步 – 创建一个从0开始的嵌套for循环,并运行它直到小于列的数量。

  • 第4步 – 打印数组元素。

示例

这个程序将打印3行3列的二维数组。这个二维数组存储了从1到9的数字。

// Go program to print a multi-dimension array
package main

// fmt package allows us to print formatted strings
import "fmt"

func main() {
    // an array with 3 rows and 3 columns
    arr := [3][3]int{
        {1, 2, 3},
        {4, 5, 6},
        {7, 8, 9}}

    // Accessing the values of the array using nested for loop
    fmt.Println("Elements of Array:")
    for i := 0; i < 3; i++ {
        for j := 0; j < 3; j++ {
                // printing the array elements
            fmt.Printf("arr[%d][%d] = %d\n", i, j, arr[i][j])
        }
    }
}

输出

Elements of Array:
arr[0][0] = 1
arr[0][1] = 2
arr[0][2] = 3
arr[1][0] = 4
arr[1][1] = 5
arr[1][2] = 6
arr[2][0] = 7
arr[2][1] = 8
arr[2][2] = 9

例2:打印存储书名和作者的二维数组

算法

  • 第1步 – 声明一个多维数组’arr’,其中存储了一些元素。
  • 第2步–创建一个从0开始的for循环(因为数组索引从0开始),并运行它直到小于行数。

  • 第3步 – 创建一个从0开始的嵌套for循环,并运行它直到小于列的数量。

  • 第4步 – 打印数组元素。

示例

这个程序将打印具有5行2列的二维数组。这个二维数组存储了书名和其各自的作者,并打印了这些信息。

// Go program to print a two-dimensional array
package main

// fmt package allows us to print formatted strings
import "fmt"

func main() {
    // a 2D array with 5 rows and 2 columns
    arr := [5][2]string{
        {"Harry Potter", "J.K. Rowling"},
        {"Goosebumps", "R. L. Stine"},
        {"Last Heroes", "P. Sainath"},
        {"The Crossing", "Jason Mott"},
        {"Rain in the Mountains", "Ruskin Bond"}}

    // Accessing the values of the array using for loop
    fmt.Println("Elements of Array:")
    for i := 0; i < len(arr); i++ {
        // printing the array elements
        fmt.Printf("%s was written by %s.\n", arr[i][0], arr[i][1])
    }
}

输出

Elements of Array:
Harry Potter was written by J.K. Rowling.
Goosebumps was written by R. L. Stine.
Last Heroes was written by P. Sainath.
The Crossing was written by Jason Mott.
Rain in the Mountains was written by Ruskin Bond.

代码的描述

  • for i := 0; i < len(arr); i++ – 这里,我们使用for循环来遍历二维数组的行。循环从0开始,一直运行到i的值< len(arr)。数组的长度是通过’len’函数获取的
  • fmt.Printf("%s was written by %s.\n", arr[i][0], arr[i][1]) – 我们正在打印arr[i][0],因为在第一列中出现了书名,然后我们正在打印arr[i][1],因为作者的名字出现在阵列的第二列中。

结论

这是关于用两个例子打印二维数组的元素。二维数组在许多现实世界的场景中发挥着巨大的作用。