为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 改变指针接口的类型

Golang 改变指针接口的类型

Go
一只萌萌小番薯 2023-03-21 15:23:48
我有一个函数,它返回某个接口的一部分指针。我想稍后将代码中的类型更改为实现类型,但没有任何效果,我仍然得到无效的类型断言。例子func Test(c Parsable)([]*Parsable, error) {   // generate slice by factory method on Parsable inteface and return slice}var implParsable ImplParsableresults, err := Test(implParsable) data := results[0].(ImplParsable) // I tried this in many variations but nothing works
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

resultSets[0]是一个指向接口的指针,因此您需要取消对该指针的引用以获取接口值,您可以内联这样做,因为切片值是可寻址的。

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


查看完整回答
反对 回复 2023-03-21
  • 1 回答
  • 0 关注
  • 68 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信