package main
import "fmt"
func main() {
// 设置元素数量为1000
const elementCount = 1000
// 预分配足够多的元素切片
srcData := make([]int, elementCount)
// 将切片赋值
for i := 0; i < elementCount; i++ {
srcData[i] = i
}
// 引用切片数据
refData := srcData
// 预分配足够多的元素切片
copyData := make([]int, elementCount)
// 将数据拷贝到新的切片空间中
copy(copyData, srcData)
// 修改原数据的第一个元素
srcData[0] = 999
// 打印引用切片的第一个元素
fmt.Println(refData[0])//999
// 打印拷贝切片的第一个和最后元素
fmt.Println(copyData[0])//仍然是0
// 拷贝原数据从4到6(不包含)
copy(copyData, srcData[4:6])
for i := 0; i < 10; i++ {
fmt.Printf("%d ", copyData[i])//4 5 2 3 4 5 6 7 8 9
}
}