go - 将一个结构复制到另一个结构具有相同成员和不同类型的结构

标签 go

我有两个具有相同成员的 struct,我想将一个结构复制到另一个结构,请参见下面的伪代码:

type Common struct {
    Gender int
    From   string
    To     string
}

type Foo struct {
    Id    string
    Name  string
    Extra Common
}

type Bar struct {
    Id    string
    Name  string
    Extra Common
}

然后我有struct Foofoo和struct Barbar,有什么办法可以从 foo 复制 bar?

最佳答案

使用 conversion更改类型。以下代码使用转换将 Foo 类型的值复制到 Bar 类型的值:

foo := Foo{Id: "123", Name: "Joe"}
bar := Bar(foo)

playground example

conversion仅当基础类型除了结构标记外相同时才有效。

关于go - 将一个结构复制到另一个结构具有相同成员和不同类型的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37246473/

相关文章:

go - 无法解析来自 beego 的已发布表单数据

go - 如何访问主包中的函数?

go - 具有不同配置 Prop 的不同软件包 - 功能选项

oop - golang插件编程

go programming POST FormValue打印不出来

postgresql - Docker:golang webapp 和 postgres 服务器之间的连接被拒绝

go - 如何通过命令行运行当前目录下的所有.go文件(多文件包)

Golang/mgo - 在更新条件下设置 "$set"

go - 为什么 p 不满足 c 的接口(interface)(第 106 行)?

http - Go http 客户端超时与上下文超时