在上一篇文章中,我們介紹了變數,變數的功能是跟電腦宣告單一空間來儲存資料,在現實問題裡,更常見的情況是需要處理一堆資料,這時候我們就需要引用資料結構,資料結構的作用除了可以儲存大量的資料以外,更重要的是可以幫助我們將資料分門歸類,在需要的時候馬上找到相應的資料。
Array是一懂同質且線性的資料結構,儲存於數組裡的稱為元素,元素可以是任何的基本類型,int、float或strings等,在Go語言裡,數組的最大長度是2Gb。
宣告Array時必須給定數組的長度n和元素的類型type
var a [n]type
數組元素可以通過索引index來查找,index從0開始,接著是1、2、3...以此類推。
如同變數的宣告,當我們宣告一個數組卻未賦值時,Go語言默認會初始化成變數類型的默認值,布林類型為false,int為0,float為0.0,string為''。
package main
import "fmt'
func main(){
// 宣告數組
// var <數組名稱> [<數組長度>]<元素類型>
var arr [5]int //宣告一個長度為5的int數組
fmt.Println(arr) //輸出: [0,0,0,0,0]
arr[0] = 29
arr[1] = 17
fmt.Println(arr[0]) //輸出: 29
fmt.printLn(arr) //輸出: [29,17,0,0,0]
}
數組的長度在宣告之後不能修改,所以Go語言實現了另一種資料結構來處理可變長度的數據 ,切片可以視為一個可變長度的數組。它包含三個部分:
切片的宣告類似於數組,不同的是我們不需要在宣告時就給定切片的長度。
var sli []int //宣告一個int的切片