在具有不同类型的相似结构之间赋值
拥有具有相同成员但不同类型的结构可能会产生在它们之间传输数据的需要。在这种情况下,类型转换可以提供解决方案。
考虑以下结构体定义:
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 结构体传输到 Bar 结构体,您可以使用类型转换:
foo := Foo{Id: "123", Name: "Joe"} bar := Bar(foo)
在这种情况下,转换有效,因为 Foo 和 Bar 的基础类型除了结构标签之外都是相同的。转换会自动将 foo 的 Common 成员的值分配给 bar 的相应成员。
提供了一个 Playground 示例作为参考:[Playground 示例](https://play.golang.org/p /FmF4FjJ0B4n)
以上是如何在不同类型的相似 Go 结构之间赋值?的详细内容。更多信息请关注PHP中文网其他相关文章!