美文网首页
Go copy 函数学习笔记

Go copy 函数学习笔记

作者: Jaycee88 | 来源:发表于2020-06-29 13:05 被阅读0次

    Go语言的内置函数 copy() 可以将一个数组切片复制到另一个数组切片中,如果加入的两个数组切片不一样大,就会按照其中较小的那个数组切片的元素个数进行复制。
    copy() 函数的使用格式如下:

    copy(destSlice, srcSlice []T) int
    

    其中 srcSlice 为数据来源切片,destSlice 为复制的目标(也就是将 srcSlice 复制到 destSlice),目标切片必须分配过空间且足够承载复制的元素个数,并且来源和目标的类型必须一致,copy() 函数的返回值表示实际发生复制的元素个数,是len(dst)和len(src)中的最小值。

    下面的代码展示了使用 copy() 函数将一个切片复制到另一个切片的过程:

    slice1 := []int{1, 2, 3, 4, 5}
    slice2 := []int{5, 4, 3}
    copy(slice2, slice1) // 只会复制slice1的前3个元素到slice2中
    copy(slice1, slice2) // 只会复制slice2的3个元素到slice1的前3个位置
    

    虽然通过循环复制切片元素更直接,不过内置的 copy() 函数使用起来更加方便,copy() 函数的第一个参数是要复制的目标 slice,第二个参数是源 slice,两个 slice 可以共享同一个底层数组,甚至有重叠也没有问题。

    参考链接

    相关文章

      网友评论

          本文标题:Go copy 函数学习笔记

          本文链接:https://www.haomeiwen.com/subject/nfeofktx.html