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也發送改變