Golang 改变指针接口的类型

我有一个函数,它返回某个接口的一部分指针。我想稍后将代码中的类型更改为实现类型,但没有任何效果,我仍然得到无效的类型断言。


例子


func Test(c Parsable)([]*Parsable, error) {

   // generate slice by factory method on Parsable inteface and return slice

}


var implParsable ImplParsable

results, err := Test(implParsable) 


data := results[0].(ImplParsable) // I tried this in many variations but nothing works


一只萌萌小番薯
浏览 93回答 1
1回答

开心每一天1111

resultSets[0]是一个指向接口的指针,因此您需要取消对该指针的引用以获取接口值,您可以内联这样做,因为切片值是可寻址的。data :=  (*resultSets[0]).(ImplParsable)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go