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

我有接口:


  type MyInterface interface {

  ...

  }

我想标记我的结构实现了它。我认为这是不可能的,但我想确定。


我做了以下操作,但我认为它会导致实现接口的匿名变量。我对吗?


  type MyStruct struct {

    ...

    MyInterface

  }


牧羊人nacy
浏览 182回答 1
1回答

BIG阳

在 Go 中,实现接口是隐式的。无需将其显式标记为实现接口。虽然有点不同,但你可以使用赋值来测试一个类型是否实现了一个接口,如果没有,它会产生一个编译时错误。它看起来像这样(来自 Go 的常见问题页面的示例);type T struct{}var _ I = T{}       // Verify that T implements I.var _ I = (*T)(nil) // Verify that *T implements I.要回答您的第二个问题,是的,也就是说您的结构由实现该接口的类型组成。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go