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也发送改变