go語言陣列的拷貝

2021-07-10 13:24:18 字數 804 閱讀 1851

go語言的陣列與c語言的資料有一點不太一樣的地方,go語言的賦值是值拷貝

package main

import "fmt"

func main()

var b = ages

b[0]++

fmt.println(ages)

fmt.println(b)

}

輸出的結果是:

[1 2 3 5]

[2 2 3 5]

要想使ages改變時,b也跟著改變可以使用指標

package main

import "fmt"

func main()

var b = &ages

b[0]++

fmt.println(ages)

fmt.println(*b)

}

輸出結果:

[2 2 3 5]


[2 2 3 5]

也可以使用切片,因為陣列切片的本質就是指向陣列的指標

package main

import "fmt"

func main()

var b = ages

b[0]++

fmt.println(ages)

fmt.println(b)

}

輸出結果:

[2 2 3 5]

[2 2 3 5]

注:切片與切片之間的賦值,為值的複製

Go語言 陣列

定義陣列的長度和型別,預設使用型別的零值進行初始化 var a1 10 int 不指定陣列的長度,指定型別,缺省會使用初始值設定陣列的長度 初始值有幾個,陣列長度就是幾 var a2 int 指定陣列的長度和型別,同時初始化全部或者部分的數字,元素會從前到後順序初始化 初始化時物件的數量不能大於陣列...

GO語言 陣列

陣列是同一種資料型別元素的集合。在go語言中,陣列從宣告時就確定,使用時可以修改陣列成員,但是陣列大小不可變化。基本語法 定義乙個長度為3元素型別為int的陣列a var a 3 intvar 陣列變數名 元素數量 t比如 var a 5 int,陣列的長度必須是常量,並且長度是陣列型別的一部分。一...

go語言 陣列

陣列是同一種資料型別元素的集合。在go語言中,陣列從宣告時就確定,使用時可以修改陣列成員,但是陣列大小不可變化。基本語法 定義乙個長度為3元素型別為int的陣列a var a 3 intvar 陣列變數名 元素數量 t比如 var a 5 int,陣列的長度必須是常量,並且長度是陣列型別的一部分。一...