位置:首頁 > 高級語言 > Go語言教學 > Go語言數組

Go語言數組

Go編程語言提供稱為數組的數據結構,其可存儲相同類型的元素的一個固定大小的連續集合。數組用於存儲數據的集合,但它往往是更加有用認為數組作為相同類型的變量的集合。

相反,聲明單個變量,如number0, number1, ...和number99,聲明一個數組變量,如號碼和使用numbers[0], numbers[1]...numbers[99]表示單個變量。在數組的特定元素是由一個索引進行訪問。

所有數組由連續的內存位置。最低的地址對應於第一元素和最高地址為最後一個元素。

Arrays in Go

聲明數組

要聲明在Go語言數組,程序員指定元素的類型以及如下的數組所需元件的數目:

var variable_name [SIZE] variable_type

這就是所謂的一維數組。arraySize必須是一個非零整數常數,類型可以是任何有效的數據類型。例如,要聲明一個10個元素的數組為balance,類型float32使用下麵的語句:

var balance [10] float32

現在balance是一個變量數組,其足以容納10浮點數。

初始化數組

你可以用一個Go初始化數組一個或者使用單一的聲明如下:

var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

括號之間的數{}的值不能比聲明方括號[]之間的數組元素的數大。

如果省略數組的大小,數組隻是大足以容納初始化被創建。因此,如果編寫:

var balance = []float32{1000.0, 2.0, 3.4, 7.0, 50.0}

將創建完全相同的數組,和前麵的例子中那樣。下麵是一個例子,分配數組的單個元素:

balance[4] = 50.0

以上語句用50.0的數值作為數組中的元素分配到第5個位置。所有數組通常0作為其第一元件的也被稱為基本索引,數組的最後一個索引的索引將是數組的總大小減去1;以下是我們上麵討論的相同的數組的圖形表示:

Array Presentation

訪問數組元素

元素由索引數組名訪問。這是由放置在方括號內的元素的索引數組的名稱後進行。例如:

float32 salary = balance[9]

以上語句需要將數組的第10個位置的元素賦值給變量salary。以下是其將使用所有上述三個概念即一個例子。聲明,分配和訪問數組:

package main

import "fmt"

func main() {
   var n [10]int /* n is an array of 10 integers */
   var i,j int

   /* initialize elements of array n to 0 */         
   for i = 0; i < 10; i++ {
      n[i] = i + 100 /* set element at location i to i + 100 */
   }

   /* output each array element's value */
   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語言中,應該需要了解更多的細節。有下列關係到數組幾個重要的概念Go程序員是應該清楚的:

概念 描述
多維數組 Go支持多維數組。多維數組的最簡單的形式是二維數組
通過數組傳遞給函數 可以通過指定數組的名稱不使用索引傳遞給函數的指針數組