這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
在go語言中數組array是一組特定長度的有序的元素集合。
go的數群組類型由兩部分組成——類型和長度,二者缺一不可。數組本來就是一Block Storage相同類型元素的連續記憶體空間,因此決定一個數組的類型,必然需要決定其儲存元素的類型以及儲存多少個元素。
在Go語言中,數組長度在定義後就不可更改。
數組是實值型別,每次傳遞都將產生一份副本。
例子:
package mainimport ("fmt""strconv")func main() {var a [5]int //定義數組 5個整數型fmt.Println("emp:", a) //整數型零值為0a[4] = 100 //修改數組fmt.Println("set:", a)fmt.Println("get:", a[4]) //輸出單個值fmt.Println("len:", len(a)) //數組長度b := [5]int{45, 32, 12, 42, 55} //定義數組 定義數組的值fmt.Println("dcl:", b)for z, y := range b { //遍曆數組fmt.Println("ran:", z, y)}var twoD [2][3]string //二維數組for i := 0; i < 2; i++ { //迴圈for j := 0; j < 3; j++ {twoD[i][j] = strconv.Itoa(i) + "-" + strconv.Itoa(j) //修改數組}}fmt.Println("2d: ", twoD)}
輸出:
emp: [0 0 0 0 0]set: [0 0 0 0 100]get: 100len: 5dcl: [45 32 12 42 55]ran: 0 45ran: 1 32ran: 2 12ran: 3 42ran: 4 552d: [[0-0 0-1 0-2] [1-0 1-1 1-2]]
數組幾種初始化方式:
var a [10]intvar a = [10]int{0,1,2,3,4,5,6,7,8,9}var a = [...]int{0,1,2,3,4,5,6,7,8,9}var a = [2][2]int{[2]int{1,1}, [2]int{2,2}}var a = [2][2]int{{1,1}, {2,2}}