首页 > 后端开发 > Golang > 如何在不同类型的相似 Go 结构之间赋值?

如何在不同类型的相似 Go 结构之间赋值?

DDD
发布: 2024-12-13 20:32:18
原创
696 人浏览过

How to Assign Values Between Similar Go Structs with Different Types?

在具有不同类型的相似结构之间赋值

拥有具有相同成员但不同类型的结构可能会产生在它们之间传输数据的需要。在这种情况下,类型转换可以提供解决方案。

考虑以下结构体定义:

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板