# 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
```
- Go 語言簡介
- Go 語言環境安裝
- Go 語言結構
- Go 語言基礎語法
- Go 語言數據類型
- Go 語言變量
- Go 語言常量
- Go 語言運算符
- Go 語言條件語句
- Go 語言 if 語句
- Go 語言 if...else 語句
- Go 語言 if 語句嵌套
- Go 語言 switch 語句
- Go 語言 select 語句
- Go 語言循環語句
- Go 語言 for 循環
- Go 語言循環嵌套
- Go 語言 break 語句
- Go 語言 continue 語句
- Go 語言 goto 語句
- Go 語言函數
- Go 語言函數值傳遞值
- Go 語言函數引用傳遞值
- Go 語言函數作為值
- Go 語言函數閉包
- Go 語言函數方法
- Go 語言變量作用域
- Go 語言數組
- Go 語言多維數組
- Go 語言向函數傳遞數組
- Go 語言指針
- Go 語言指針數組
- Go 語言指向指針的指針
- Go 語言指針作為函數參數
- Go 語言結構體
- Go 語言切片(Slice)
- Go 語言范圍(Range)
- Go 語言Map(集合)
- Go 語言遞歸函數
- Go 語言類型轉換
- Go 語言接口
- Go 錯誤處理
- Go 語言開發工具