一尘不染

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

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
}

然后,我有foo结构的Foo,而bar结构的Bar,有什么办法复制barfoo


阅读 176

收藏
2020-07-02

共1个答案

一尘不染

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

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

游乐场的例子

转换仅在基础类型,除了结构标签相同的工作。

2020-07-02