GO-切片拷贝以及赋值
程序员文章站
2022-06-07 11:30:20
一.拷贝 二.赋值 ......
一.拷贝
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也发送改变