2016-05-16 172 views
3

好像我有两个struct具有相同的成员,我想一个结构dupliate到另一个,请参见下面的伪代码:Golang DUP一个结构到另一个

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 
} 

然后,我有结构Foofoo,并bar结构Bar,是否有任何捷径复制bar从或到foo

+0

你的意图是不明确的。你想做什么? – PieOhPah

回答

9

使用conversion。下面的代码使用一个转换到副本Foo类型的值Bar类型的值:

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

playground example

+0

很酷。显然这只有在两个结构体具有完全相同的结构时才有效。 – Tigraine

+0

正如链接文档所述,底层类型除结构标记外必须相同。 –