英文:
Listing interfaces in interfaces in Go
问题
我不理解container/heap
包中以下代码片段。
type Interface interface {
sort.Interface //这一行是一个方法吗?
Push(x interface{})
Pop() interface{}
}
英文:
I don't understand the following code snippet in the container/heap
package.
type Interface interface {
sort.Interface //Is this line a method?
Push(x interface{})
Pop() interface{}
}
答案1
得分: 7
这是一个类型声明。
heap.Interface
接口嵌入了 sort.Interface
接口。
你可以将其看作是一种继承/特化的方式:这意味着实现 heap.Interface
接口的结构体也必须实现 sort.Interface
的方法以及 Push
和 Pop
方法。
接口嵌入在《Effective Go》中有详细描述:http://golang.org/doc/effective_go.html#embedding
英文:
This is a type declaration.
The heap.Interface
interface embeds the sort.Interface
interface.
You can see it as a kind of inheritance/specialization : it means that the structs implementing the heap.Interface
interface are defined as the ones that implement the sort.Interface
methods and the Push
and Pop
methods.
Interface embeding is described in Effective Go : http://golang.org/doc/effective_go.html#embedding
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论