-----------------package mainimport (log)type meta struct {name stringage int}func (m *meta) copy(dest *meta) {*dest = *m}func main() {a := meta{name:aaaaaaa, age:123}log.Println(a)var b meta...

-----------------
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 对象直接赋值给其它变量,就可以了。赋值时,为值拷贝。

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)
}
织梦狗教程
本文标题为:go语言复制一个struct 对象
基础教程推荐
猜你喜欢
- Swift初始化器与可选链的使用方法介绍 2023-07-08
- Swift中重写和重载的使用与对比总结 2023-07-05
- win10下使用virtualbox + vagrant配置ruby开发机环境 2023-07-23
- R语言 ggplot2改变柱状图的顺序操作 2022-11-17
- ruby on rails validates 2023-09-22
- R语言-修改(替换)因子变量的元素操作 2022-11-26
- Ruby3多线程并行Ractor使用方法详解 2023-07-23
- 浅析ELF转二进制允许把 Binary 文件加载到任意位置 2023-07-06
- R语言绘制折线图实例分析 2022-11-21
- ruby-on-rails-为使用Rails 4,nginx和乘客的用户设置自定义域 2023-09-21
