猿问

带有嵌套结构指针的断言接口

我需要将结构分配给 interface{} (a) 然后再次断言它 (b) 就像在我的例子中一样。我需要 MyStruct 和 MyNestedStruct 才能转换。

https://play.golang.org/p/LSae9dasJI

我怎样才能做到这一点?


慕尼黑5688855
浏览 159回答 1
1回答

慕哥9229398

在调试你的代码时,我到达了这个(仍然是损坏的状态),它清楚地显示了你的实现有什么问题;https://play.golang.org/p/MnyDxKvJsK第二个链接已解决问题。基本上,由于您的返回类型,您的类型实际上并没有实现接口。是的,返回类型实现了接口,但它不是接口的实例。仔细看下面的代码;// your version *MyNestedStruct != MyNestedInterfacefunc (this *MyStruct) GetNested() *MyNestedStruct {    return this.nested}type MyInterface interface{    GetNested() MyNestedInterface}//my versionfunc (this *MyStruct) GetNested() MyNestedInterface {    return this.nested}https://play.golang.org/p/uf2FfvbATb
随时随地看视频慕课网APP

相关分类

Go
我要回答