一.拷貝
package main
import "fmt"
func main(){
//copy函式,把一個切片copy到另一個切片之上
var a [1000]int=[1000]int{0,1,2,3,4,5}
b:=a[:4]
c:=make([]int,4,4)
copy(c,b)
fmt.Println(c)
c[1]=3
fmt.Println(a)
}
// copy是將索引部分和值部分都在記憶體開辟了新的控制元件復制了兩份,a與C沒有關聯關系,c變a也不會發送變化
二.賦值
package main
import "fmt"
func main(){
var a [1000]int=[1000]int{0,1,2,3,4,5}
b:=a[:4]
c:=b
fmt.Println(c)
c[1]=3
fmt.Println(a)
}
//只在記憶體開辟了一個索引區域,復制了一份但是同樣還是指向a,所有此時c發送改變a也發送改變
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/61794.html
標籤:Go
上一篇:go modules包管理
