Golang - 结构之间的转换

我有两个结构


type A struct {

    a int

    b string

}


type B struct {

    A

    c string

    // more fields

}

我想将 A 类型的变量转换为 B 类型(A 只定义了对某些部分至关重要的基本字段,另一方面 B 包含“完整”数据)。


在 Go 中是否有可能,或者我是否必须手动复制字段(或创建一个方法 A.GetB() 或类似的方法并使用它来将 A 转换为 B)?


慕运维8079593
浏览 188回答 2
2回答

LEATH

通过转换,您的意思是:func main() {    // create structA of type A    structA := A{a: 42, b: "foo"}    // convert to type B    structB := B{A: structA}}

侃侃无极

这些类型A和B具有不同的基础类型,因此它们不能相互转换。没门。因此,要么手动复制,要么提供执行此复制的转换器功能或方法。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go