【发布时间】:2017-08-12 08:38:49
【问题描述】:
鉴于这样的事情:
type Foo struct {
x int
}
type FooFoo struct {
foo *Foo
}
type Bar struct {
x int
}
Foo 隐藏的位置(在我的情况下是由于供应商),我如何创建一个具有有效 foo 条目的 FooFoo 结构?
如果Foo 可用,我可以这样做
foofoo := &FooFoo{ foo: &Foo{5} }
甚至
foofoo := &FooFoo{ foo: (*Foo)&Bar{ 5 } }
但如果不提Foo,我就找不到办法。
我想我需要类似的东西:
foofoo := &FooFoo{ foo: (*typeof(FooFoo.foo)) &Bar{ 5 } }
【问题讨论】:
-
您将无法以这种方式对 Bar 进行类型转换。也许您可以考虑使用某种接口?
-
供应商本身不“隐藏”类型。你能举一个真实的例子吗?你的并没有真正显示出实际的问题。
-
here 描述了此问题的一个示例:本质上,b 中出售的 a.go 中的
T类型在 b 之外无法访问。
标签: go