[Go] 陣列(Array)
前言
陣列是一個有著編號的序列(索引值0為開頭),陣列裡的每個元素都有相同的單一型別,元素的型態及個數決定了陣列的型態。
宣告
宣告陣列時,在[]內放入元素個數,並且宣告元素的資料型態,索引值由0開始。
如:宣告一個放3個integer的陣列(容器)
1 | |
也可在上述範例放入{},必須採短語法的方式。
1 | |
如果賦值的數量比陣列大小還少,會自動給予初值,就是從編號
0開始填。
也可以使用
...,或者給予一個空陣列,只寫[],讓編譯器自動判斷數量
1 | |
分行宣告
有時陣列可能會太長而無法用一行來表示,可以用下面的方式來分行:
1 | |
如果宣告的元素數量超過
[]中指定的數量,那麼會有out of bounds的編譯錯誤。
錯誤宣告
若採用一般宣告的方式,會報錯。
1 | |

檢視長度
使用len()檢視陣列長度(或做容器大小)
1 | |
指定元素
指定某個位置的值
可針對某個位置的元素進行賦值
1 | |
搭配for loop
1 | |
for range
除了一般方法,也可以用for index, value range
1 | |
比較簡潔的方式
若for不需要索引的情況下,可以採用_避免因為定義index卻未使用,導致編譯器報錯的問題。
1 | |
_為Go中的blank identifier
陣列的比較
要比較不同陣列長度與陣列內的元素,需要型態相同才可以做比較,如果將 [5]int 與 [10]int 做比較,編譯器編譯時會發生 mismatched types 的錯誤訊息,而指定陣列給另一陣列時,也必須是相同型態的陣列。
巢狀陣列
如果想要做一個多維陣列,可以使用巢狀陣列來完成。
如: 建立一個2X2的陣列
1 | |
