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

如何将golang结构标记为实现接口?

如何将golang结构标记为实现接口?

Go
牧羊人nacy 2021-11-15 16:03:15
我有接口:  type MyInterface interface {  ...  }我想标记我的结构实现了它。我认为这是不可能的,但我想确定。我做了以下操作,但我认为它会导致实现接口的匿名变量。我对吗?  type MyStruct struct {    ...    MyInterface  }
查看完整描述

1 回答

?
BIG阳

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

在 Go 中,实现接口是隐式的。无需将其显式标记为实现接口。虽然有点不同,但你可以使用赋值来测试一个类型是否实现了一个接口,如果没有,它会产生一个编译时错误。它看起来像这样(来自 Go 的常见问题页面的示例);


type T struct{}

var _ I = T{}       // Verify that T implements I.

var _ I = (*T)(nil) // Verify that *T implements I.

要回答您的第二个问题,是的,也就是说您的结构由实现该接口的类型组成。


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

添加回答

举报

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