我想知道当一个结构包含另一个结构时,是否有一种简单的方法可以在 Go 中将一个结构转换为另一个。
例如
type Type1 struct {
Field1 int
Field2 string
}
type Type2 struct {
Field1 int
}
Run Code Online (Sandbox Code Playgroud)
我知道可以这样处理
var a Type1{10, "A"}
var b Type2
b.Field1 = a.Field1
Run Code Online (Sandbox Code Playgroud)
但是如果有很多领域,我将不得不写很多作业。有没有其他方法可以在没有多次分配的情况下处理它?
总之,b = _.omit(a, 'Field2')在javascript中有没有类似的东西?
不直接,不。您只能在相同类型之间自由转换。
您可以获得针对此类问题的各种级别的解决方案: