【发布时间】:2018-06-14 16:26:14
【问题描述】:
据我所知,带有指针接收器的方法只实现指针接口。我想利用必须用指针实现的encoding.TextMarshaler 接口。因此,我怎样才能使用反射获得指针。
以下不起作用,因为作为提到的值没有实现接口:
v.Interface().(encoding.TextUnmarshaler)
【问题讨论】:
标签: pointers go reflection interface
据我所知,带有指针接收器的方法只实现指针接口。我想利用必须用指针实现的encoding.TextMarshaler 接口。因此,我怎样才能使用反射获得指针。
以下不起作用,因为作为提到的值没有实现接口:
v.Interface().(encoding.TextUnmarshaler)
【问题讨论】:
标签: pointers go reflection interface
使用 v.Addr().Interface().(encoding.TextUnmarshaler) 获取地址。这假定 v 引用了一个 addressable 值。
【讨论】: