定义一个切片
package main
import "fmt"
func main() {
a1 := []int{1, 2, 3, 4}
a2 := a1
fmt.Printf("a1:=%d\na2:=%d", a1, a2)
}
go语言内建的copy()函数可以迅速地将一个切片数据复制到另外一个切片空间中,copy()函数的使用格式如下:
copy(目标切片,数据来源切片)
package main
import "fmt"
func main() {
a1 := []int{1, 2, 3, 4}
a2 := a1
a3 := make([]int, 4, 4)
copy(a3, a1)
fmt.Printf("修改前的数据:\na1=%d\na2=%d\na3=%d\n", a1, a2, a3)
//修改a1[0]的数据为1000再次打印a1,a2,a3查看数据是否一致
a1[0] = 100
fmt.Printf("修改后的数据:\na1=%d\na2=%d\na3=%d", a1, a2, a3)
}
我们发现copy只复制源数组的值,源数组发生修改和copy后的数组没有任何关系
标签:a1,fmt,切片,a3,a2,复制,copy From: https://www.cnblogs.com/suknna/p/17103238.html