为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕尼黑5688855 2021-11-22 15:54:22
我需要将结构分配给 interface{} (a) 然后再次断言它 (b) 就像在我的例子中一样。我需要 MyStruct 和 MyNestedStruct 才能转换。https://play.golang.org/p/LSae9dasJI我怎样才能做到这一点?
查看完整描述

1 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

在调试你的代码时,我到达了这个(仍然是损坏的状态),它清楚地显示了你的实现有什么问题;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

}

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


查看完整回答
反对 回复 2021-11-22
  • 1 回答
  • 0 关注
  • 158 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信