Go 語言數組
Go 語言提供了陣列類型的資料結構。
陣列是具有相同唯一類型的一組已編號且長度固定的資料項目序列,這種類型可以是任意的原始類型例如整形、字串或自訂類型。
相對於去宣告number0, number1, ..., and number99的變量,使用數組形式numbers[0], numbers[1] ..., numbers[99]更加方便且易於擴展。
陣列元素可以透過索引(位置)來讀取(或修改),索引從0開始,第一個元素索引為 0,第二個索引為 1,以此類推。
宣告陣列
Go 語言陣列宣告需要指定元素型別及元素個數,語法格式如下:
var variable_name [SIZE] variable_type
以上為一維數組的定義方式。數組長度必須是整數且大於 0。例如以下定義了數組balance 長度為10 類型為float32:
var balance [10] float32
#初始化數組
以下演示了數組初始化:
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}
初始化數組中{} 中的元素個數不能大於[] 中的數字。
如果忽略[] 中的數字不設定數組大小,Go 語言會根據元素的數量來設定數組的大小:
var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}
該實例與上面的實例是一樣的,雖然沒有設定數組的大小。
balance[4] = 50.0
以上實例讀取了第五個元素。數組元素可以透過索引(位置)來讀取(或修改),索引從0開始,第一個元素索引為 0,第二個索引為 1,以此類推。
存取陣列元素
陣列元素可以透過索引(位置)來讀取。格式為數組名後加為括號,括號中為索引的值。例如:
float32 salary = balance[9]
以上實例讀取了陣列balance第10個元素的值。
以下示範了陣列完整操作(宣告、賦值、存取)的實例:
package main import "fmt" func main() { var n [10]int /* n 是一个长度为 10 的数组 */ var i,j int /* 为数组 n 初始化元素 */ for i = 0; i < 10; i++ { n[i] = i + 100 /* 设置元素为 i + 100 */ } /* 输出每个数组元素的值 */ for j = 0; j < 10; j++ { fmt.Printf("Element[%d] = %d\n", j, n[j] ) } }
以上實例執行結果如下:
Element[0] = 100 Element[1] = 101 Element[2] = 102 Element[3] = 103 Element[4] = 104 Element[5] = 105 Element[6] = 106 Element[7] = 107 Element[8] = 108 Element[9] = 109
更多內容
陣列對Go 語言來說是非常重要的,以下我們將介紹陣列更多的內容:
#內容 | ##描述|
---|---|
Go 語言支援多維數組,最簡單的多維數組是二維數組 | |
你可以像函數傳遞陣列參數 |