在以下代码片段中 -
type Input interface {
Name() string
}
type Abc interface {
Do(Input)
}
type InputImpl struct {
}
func (InputImpl) Name() string {
return "sample-impl"
}
type AbcImpl struct {
}
func (abcImpl *AbcImpl) Do(input Input){
// do something
}
AbcImplstruct 是Abc接口的实现,但是像这样更改最后一个函数 -
func (abcImpl *AbcImpl) Do(input InputImpl){
// do something
}
现在AbcImpl不再实现Abc了,虽然InputImpl正在实现Input接口!
我是否遗漏了什么,或者必须具有与接口完全相同的签名(不是事件 Impls)才能成为合法实现?
泛舟湖上清波郎朗
慕侠2389804
相关分类