鑑於這樣的事情:如何轉換爲typeof(field)?
type Foo struct {
x int
}
type FooFoo struct {
foo *Foo
}
type Bar struct {
x int
}
凡Foo
是隱藏的(在我的情況,由於vendoring),我怎麼可以創建一個有效的富條目FooFoo結構?
如果是可用Foo
,我可以做
foofoo := &FooFoo{ foo: &Foo{5} }
甚至
foofoo := &FooFoo{ foo: (*Foo)&Bar{ 5 } }
但我不能找到一個辦法做到這一點不提Foo
。
我想我會需要這樣的東西:
foofoo := &FooFoo{ foo: (*typeof(FooFoo.foo)) &Bar{ 5 } }
您將無法以這種方式強制輸入Bar。也許你可以考慮使用某種接口? –
廠商本身不_「隱藏」類型。你能想出一個真實的例子嗎?你們並沒有真正顯示實際問題。 – Volker
這個問題的一個例子在這裏被描述(https://github.com/golang/go/issues/12432):基本上b中a.go服務的類型'T'在b之外是不可訪問的。 – Fozi