温馨提示×

golang数组拷贝的方法是什么

小亿
210
2023-10-14 02:21:05
栏目: 编程语言

在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中,并打印出目标切片的内容。修改源切片的元素后,目标切片不受影响。

0