如何将结构的内容复制到扩展原始结构的新实例化结构中?

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 中没有“扩展”,也没有类型层次结构。