当方法实际上没有丢失时接口转换恐慌

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


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))

}

我不知何故非常困惑,试图了解这里实际需要什么


慕村9548890
浏览 141回答 1
1回答

繁星coding

可能是因为您正在传递 a MerchantResultset,但该Add方法仅针对指向该类型的指针定义。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go