当方法实际上没有丢失时,界面转换恐慌

gex*_*tra 9 go

不知何故,在运行时,我收到以下恐慌消息,即使在我看来该方法已正确定义到实现该接口的结构.

panic: interface conversion: schema.MerchantResultset 
is not search.ResultsetInterface: missing method Add
Run Code Online (Sandbox Code Playgroud)

这是界面蓝图

type ResultsetInterface interface {
    Init(string)
    CacheSet(context.Context) error
    CacheSetPart(context.Context, int) error
    CacheGet(context.Context, string) error
    Add(interface{})
    AddResultset(interface{})
}
Run Code Online (Sandbox Code Playgroud)

以下是在运行时报告丢失的方法,该方法分配给我的struct MerchantResultset.

func (mr *MerchantResultset) Add(item interface{}) {
    mr.Data = append(mr.Data, item.(Merchant))
}
Run Code Online (Sandbox Code Playgroud)

我在某种程度上非常困惑,试图了解这里实际需要什么

Rol*_*lig 12

可能是因为你传递了一个MerchantResultset,但该Add方法仅定义为指向该类型的指针.