英文:
Interface inherit from other interface in golang
问题
在Go语言中,接口的复用可以通过嵌入其他接口来实现。以下是在Go中重用接口定义的示例:
type IA interface {
MethodX()
}
type IB interface {
IA
MethodY()
}
通过将接口类型嵌入到其他接口类型中,我们可以实现接口的复用。在上述示例中,接口IB嵌入了接口IA,因此IB接口包含了IA接口的所有方法,同时还定义了自己的MethodY方法。这样,我们就可以在实现IB接口时,同时实现IA接口的方法。
希望对你有所帮助!如果你还有其他问题,请随时提问。
英文:
Interface inheritance looks like the following in C#:
interface IA{
void MethodX();
}
interface IB : IA{
void MethodY();
}
How can I reuse interface definition in go?
答案1
得分: 35
你可以在接口中嵌入其他接口,这基本上给你带来了相同的好处:
一个很好的例子是io
包中的ReadWriteCloser
接口:
http://golang.org/pkg/io/#ReadWriteCloser
它嵌入了一个Reader
接口、一个Writer
接口和一个Closer
接口。
英文:
You can embed other interfaces inside an interface, which gives you basicaly the same benefits:
A Good Example is the ReadWriteCloser
in the io package:
http://golang.org/pkg/io/#ReadWriteCloser
It embeds a Reader
, a Writer
and a Closer
interface.
答案2
得分: 0
我猜你不需要继承,
Golang会检查你的结构体是否实现了接口中的相关方法,所以一个结构体可以实现多个接口。
英文:
I guess that you don't need inheritance,
Golang tests if your struct implements related method in interface so a struct can implement many interfaces
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论