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 } }