内置
copy(dst, src)副本
min(len(dst),len(src))元素。
因此,如果您
dst为空(
len(dst) == 0),则不会复制任何内容。
尝试
tmp := make([]int,len(arr))(前往Playground):
arr := []int{1, 2, 3}tmp := make([]int, len(arr))copy(tmp, arr)fmt.Println(tmp)fmt.Println(arr)输出(预期):
[1 2 3][1 2 3]
不幸的是,这没有记录在
builtin软件包中,而是记录在
Go语言规范中:附加和复制切片
:
复制的元素的数目是最小
len(src)和len(dst)。
编辑:
最后,的文档
copy()已更新,现在包含以下事实:将复制源和目标的最小长度:
复制返回复制的元素数量,该数量将是len(src)和len(dst)的 最小值 。



