好好爱自己!

go语言复制一个struct 对象

 

 

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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 对象直接赋值给其它变量,就可以了。赋值时,为值拷贝。

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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)
}

  

posted @   立志做一个好的程序员  阅读(2173)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2017-04-06 【转】马拉松式学习与技术人员的成长性
2017-04-06 JavaScript Prototype in Plain Language

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示