douya2006
2016-06-09 11:31
浏览 178
已采纳

Golang-结构之间的转换

I have two structs

type A struct {
    a int
    b string
}

type B struct {
    A
    c string
    // more fields
}

I'd like to convert variable of type A to type B (A has defined only basic fields that are crucial for some parts, B on the other hand contains 'full' data).

Is it possible in Go, or do I have to copy fields manually (or create a method A.GetB() or something like this and use this to convert A to B)?

图片转代码服务由CSDN问答提供 功能建议

我有两个结构

  type A结构{
a  int 
b字符串
} 
 
B型结构{
 A 
c字符串
 //更多字段
} 
   
 
 

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

开始,还是我必须手动复制字段(或创建方法A.GetB()或类似的方法,然后使用它将A转换为B)?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • drl6054 2016-06-09 12:08
    已采纳

    By converting do you mean this:

    func main() {
        // create structA of type A
        structA := A{a: 42, b: "foo"}
    
        // convert to type B
        structB := B{A: structA}
    }
    
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题