如何将结构的内容复制到扩展原始结构的新实例化结构中?
How to copy content of an struct into a newly instantiated struct that extended the original struct?
假设我有一个扩展另一个结构的结构。所以...
type Foo struct { A, B int64 }
type FooBar struct {
Foo
Bar String
}
我有一个 foo 结构,其中已经包含了一些值。我想制作一个 foobar 结构,其中 foo plus bar 的内容被设置为某个值。我的问题是将我的 foo 结构的内容复制到我新实例化的 foobar 结构中的最干净的方法是什么?
myFoo := generateFoo()
myFooBar := ???
我假设这有某种语法糖,但如果是这样,我发誓我无法通过谷歌搜索找到它。对于我的实际用例,浅拷贝就足够了,但最好知道是否也可以进行深拷贝。
不需要糖。始终复制值。
myFoo := generateFoo()
myFooBar := FooBar { myFoo, myBar }
请注意,Go 中没有“扩展”,也没有类型层次结构。
假设我有一个扩展另一个结构的结构。所以...
type Foo struct { A, B int64 }
type FooBar struct {
Foo
Bar String
}
我有一个 foo 结构,其中已经包含了一些值。我想制作一个 foobar 结构,其中 foo plus bar 的内容被设置为某个值。我的问题是将我的 foo 结构的内容复制到我新实例化的 foobar 结构中的最干净的方法是什么?
myFoo := generateFoo()
myFooBar := ???
我假设这有某种语法糖,但如果是这样,我发誓我无法通过谷歌搜索找到它。对于我的实际用例,浅拷贝就足够了,但最好知道是否也可以进行深拷贝。
不需要糖。始终复制值。
myFoo := generateFoo()
myFooBar := FooBar { myFoo, myBar }
请注意,Go 中没有“扩展”,也没有类型层次结构。