Latest web development tutorials

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 語言支持多維數組,最簡單的多維數組是二維數組
向函數傳遞數組 你可以像函數傳遞數組參數