Go 語言多維數組
Go 語言支持多維數組,以下為常用的多維數組聲明方式:
var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type
以下實例聲明了三維的整型數組:
var threedim [5][10][4]int
二維數組
二維數組是最簡單的多維數組,二維數組本質上是由一維數組組成的。 二維數組定義方式如下:
var arrayName [ x ][ y ] variable_type
variable_type 為Go 語言的數據類型,arrayName 為數組名,二維數組可認為是一個表格,x 為行,y 為列,下圖演示了一個二維數組a 為三行四列:
二維數組中的元素可通過a[ i ][ j ]來訪問。
初始化二維數組
多維數組可通過大括號來初始值。 以下實例為一個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]
以上實例訪問了二維數組val 第三行的第四個元素。
二維數組可以使用循環嵌套來輸出元素:
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