不知何故,在运行时,我收到以下 panic 消息,即使在我看来该方法已正确定义到实现该接口的结构。
panic: interface conversion: schema.MerchantResultset
is not search.ResultsetInterface: missing method Add
这是界面蓝图
type ResultsetInterface interface {
Init(string)
CacheSet(context.Context) error
CacheSetPart(context.Context, int) error
CacheGet(context.Context, string) error
Add(interface{})
AddResultset(interface{})
}
以下是在运行时报告缺失的方法,该方法已分配给我的struct MerchantResultset。
func (mr *MerchantResultset) Add(item interface{}) {
mr.Data = append(mr.Data, item.(Merchant))
}
我在某种程度上非常困惑,试图了解这里实际需要什么
答案 0 :(得分:9)
可能是因为你传递的是MerchantResultset
,但Add
方法只定义了指向类型的指针。