go语言复制一个struct 对象

 

 

-----------------

package main

import (
  "log"
)

type meta struct {
  name string
  age int
}
func (m *meta) copy(dest *meta) {
  *dest = *m
}
func main() {
  a := meta{name:"aaaaaaa", age:123}
  log.Println(a)
  var b meta
  a.copy(&b)
  b.name="fly"
  b.age = 77
  log.Println("b:", b)
  log.Println("a:", a)
}

  其实,struct 对象直接赋值给其它变量,就可以了。赋值时,为值拷贝。

go语言复制一个struct 对象

 

 

 

package main

import (
"log"
)

type meta struct {
name string
age int
}
func (m *meta) copy(dest *meta) {
*dest = *m
}
func main() {
a := meta{name:"aaaaaaa", age:123}
log.Println(a)
var b meta
a.copy(&b)
b.name="fly"
b.age = 77

c := a
c.name = "zzz"
c.age = 9

log.Println("b:", b)
log.Println("a:", a)
log.Println("c:", c)
}

  

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-08-06
  • 2022-02-25
  • 2022-12-23
  • 2021-12-30
猜你喜欢
  • 2021-09-14
  • 2021-08-11
  • 2021-11-23
  • 2021-05-21
  • 2022-01-18
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案