在Go语言中,可以使用copy()
函数来拷贝数组。
copy(destSlice, srcSlice)
函数接受两个切片作为参数,将源切片的元素拷贝到目标切片中。拷贝的元素数量取决于两个切片的长度,如果源切片的长度大于或等于目标切片的长度,则只会拷贝目标切片长度的元素;如果源切片的长度小于目标切片的长度,则会拷贝源切片的所有元素,并将剩余位置的元素清零。
示例代码如下:
package main
import (
"fmt"
)
func main() {
src := []int{1, 2, 3, 4, 5}
dest := make([]int, len(src))
copy(dest, src)
fmt.Println(dest) // 输出 [1 2 3 4 5]
// 修改源切片,目标切片不受影响
src[0] = 100
fmt.Println(src) // 输出 [100 2 3 4 5]
fmt.Println(dest) // 输出 [1 2 3 4 5]
}
在上述代码中,我们使用copy()
函数将源切片src
的元素拷贝到目标切片dest
中,并打印出目标切片的内容。修改源切片的元素后,目标切片不受影响。