golang 复制对象

心已赠人 2021-09-03 07:38 506阅读 0赞

需求

  实际运用种,传参是一对象指针,现在如何最简便地复制一对象?

实现

错误方法:&* 先拿到值再指针?

  1. package main
  2. import (
  3. "time"
  4. "log"
  5. )
  6. func main() {
  7. T1 := &TestS{1}
  8. T2 := &*T1
  9. T2.a = 5
  10. log.Print(T1)
  11. log.Print(T2)
  12. }

输出

  1. 2017/06/15 20:14:27 &{5}
  2. 2017/06/15 20:14:27 &{5}

正确方法:先*T 再&T

  1. package main
  2. import (
  3. "time"
  4. "log"
  5. )
  6. func main() {
  7. T1 := &TestS{1}
  8. T2 := *T1
  9. T3 := &T2 //改动地方
  10. T3.a = 5
  11. log.Print(T1)
  12. log.Print(T3)
  13. }

输出:

  1. 2017/06/15 20:16:55 &{1}
  2. 2017/06/15 20:16:55 &{5}

发表评论

表情:
评论列表 (有 0 条评论,506人围观)

还没有评论,来说两句吧...

相关阅读

    相关 对象复制

    为什么要克隆 --------------------  克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来

    相关 golang 复制对象

    需求   实际运用种,传参是一对象指针,现在如何最简便地复制一对象? 实现 错误方法:&\  先拿到值再指针? package main i

    相关 golang 复制 文件 文件夹

    在golang 中,复制文件是比较容易的,直接操作"io/ioutil"包就可以了,但是复制文件夹就有点麻烦了,需要一层层检查是否存在这个文件夹,不存在就创建文件夹, 实例如