2

无涯教程-Go - 多维数组函数

 8 months ago
source link: https://blog.51cto.com/u_14033984/8924488
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Go编程语言允许多维数组,这是多维数组声明的一般形式-

var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type

如,以下声明创建了三维5、10、 4个整数数组-

var threedim [5][10][4]int

二维数组是多维数组的最简单形式,本质上,二维数组是一维数组的列表,要声明大小为[x,y]的二维整数数组,您将编写如下内容:

var arrayName [ x ][ y ] variable_type

其中 variable_type 可以是任何有效的Go数据类型,而 arrayName 是有效的Go标识符,可以将二维数组视为一个表,该表将具有x的行数和y的列数。

初始化二维数组

可以通过为每行指定括号中的值来初始化多维数组。以下是具有3行的数组,每行有4列。

a=[3][4]int{  
   {0, 1, 2, 3} ,   /*  由 0 索引的行的初始值设定项 */
   {4, 5, 6, 7} ,   /*  由 1 索引的行的初始值设定项 */
   {8, 9, 10, 11}   /*  由 2 索引的行的初始值设定项 */
}

访问二维数组元素

使用下标访问二维数组中的元素,即数组的行索引和列索引。如-

int val=a[2][3]

上面的语句将从数组的第三行获取第4个元素,让我们检查下面的程序,其中我们使用嵌套循环来处理二维数组-

package main

import "fmt"

func main() {
   /* 一个 5 行 2 列的数组 */
   var a=[5][2]int{ {0,0}, {1,2}, {2,4}, {3,6},{4,8}}
   var i, j int

   /* 输出每个数组元素的值 */
   for  i=0; i < 5; i++ {
      for j=0; j < 2; j++ {
         fmt.Printf("a[%d][%d]=%d\n", i,j, a[i][j] )
      }
   }
}

编译并执行上述代码后,将产生以下输出-

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8

如上所述,您可以具有任意数量的维度数组,尽管您创建的大多数数组可能都是一维或二维的。

 https://www.learnfk.com/go/go-multi-dimensional-arrays.html


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK