Golang更改指针接口的类型

Golang更改指针接口的类型,go,Go,我有一个函数,它返回某个接口的指针片段。我想稍后在代码中将类型更改为实现类型,但没有任何效果,我仍然得到一个无效的类型断言 范例 func Test(c Parsable)([]*Parsable, error) { // generate slice by factory method on Parsable inteface and return slice } var implParsable ImplParsable results, err := Test(implParsab

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

范例

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

resultSets[0]
是指向接口的指针,因此需要取消对该指针的引用以获取接口值,因为切片值是可寻址的,所以可以内联执行该操作

data :=  (*resultSets[0]).(ImplParsable)

如果它是一个指针,您只需要取消对它的引用(
*
),但您确定要使用指向接口的指针吗?通常没有现成的方法。我也尝试了*但不起作用,我有一个函数,我把它用作工厂,我添加了这个函数来解释问题