码迷,mamicode.com
首页 > 其他好文 > 详细

Go深拷贝与浅拷贝

时间:2020-02-29 00:51:50      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:fun   str   概念   float   函数   返回   指定   code   元素   

深拷贝与浅拷贝

  1. 概念

    深拷贝:拷贝的是数据本身

    ? 值类型的数据,默认都是深拷贝。array,int ,float,bool,string,struct

    浅拷贝:拷贝的是数据地址

    ? 导致多个变量指向同一块内存

    ? 引用类型的数据,默认都是浅拷贝。slice,map

  2. 针对切片的深拷贝函数

    func copy(dst, src []Type) int
    //在目标切片的下标为0的位置,开始粘贴复制的源数据
    //内建函数copy将元素从来源切片复制到目标切片中
    //copy返回被复制的元素数量,它会是 len(src) 和 len(dst) 中较小的那个
    
    copy(dstSlice[n:],srcSlice[m:])
    //通过这种方式,可以将源切片中指定位置的数据拷贝到目的切片的指定位置

Go深拷贝与浅拷贝

标签:fun   str   概念   float   函数   返回   指定   code   元素   

原文地址:https://www.cnblogs.com/henryno12/p/12381107.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!