0
斷言接口我需要的結構分配給接口{}(a)和然後(b)像在我的例子再次斷言它。我需要MyStruct和MyNestedStruct是可轉換的。具有嵌套結構指針
https://play.golang.org/p/LSae9dasJI
我怎麼能這樣做?
斷言接口我需要的結構分配給接口{}(a)和然後(b)像在我的例子再次斷言它。我需要MyStruct和MyNestedStruct是可轉換的。具有嵌套結構指針
https://play.golang.org/p/LSae9dasJI
我怎麼能這樣做?
在調試你的代碼時,我到達了這個(仍然是壞的狀態),它清楚地顯示了你的實現有什麼問題; https://play.golang.org/p/MnyDxKvJsK
第二個鏈接已解決該問題。基本上,你的類型實際上並沒有實現接口,因爲你的返回類型。是的返回類型實現的接口,但它不是接口的實例。仔細看下面的代碼;
// your version *MyNestedStruct != MyNestedInterface
func (this *MyStruct) GetNested() *MyNestedStruct {
return this.nested
}
type MyInterface interface{
GetNested() MyNestedInterface
}
//my version
func (this *MyStruct) GetNested() MyNestedInterface {
return this.nested
}