Go语言程序如何打印二维数组?


二维数组在 Go 中被广泛使用。例如,存储表格数据就需要使用二维数组。在本教程中,我们将讨论在 Go 语言编程中打印二维数组的方法。

但在编写代码之前,让我们简要讨论一下二维数组。

什么是二维数组?

二维数组由行和列组成。它的本质类似于具有固定长度的普通数组。它具有同质性,即存储在二维数组中的所有元素都应具有相同的数据类型。

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

示例

  • 行数 = 3,列数 = 3

    这意味着数组有九个元素,然后-

    • 数组的第一个值将位于 (0,0) 索引处,并且

    • 最后一个值将位于 (row−1,column−1) 索引处,即 (2,2) 索引处。

示例 1:打印包含数字 1 到 9 的二维数组。

算法

  • 步骤 1 - 声明一个多维数组 'arr',并在其中存储一些元素。

  • 步骤 2 - 创建一个从 0 开始(因为数组索引从 0 开始)的 for 循环,并运行它直到它小于行数。

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

  • 步骤 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 开始(因为数组索引从 0 开始)的 for 循环,并运行它直到它小于行数。

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

  • 步骤 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],因为作者名称存在于数组的第二列中。

结论

这就是使用两个示例打印二维数组元素的全部内容。二维数组在许多现实场景中发挥着重要作用。您可以使用这些教程探索更多关于 Go 语言编程的信息。

更新于: 2022-12-28

1K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告