据我所知,带有指针接收器的方法只实现指针的接口(interface)。我想利用必须用指针实现的 encoding.TextMarshaler
接口(interface)。因此,我如何使用反射获取指针。
以下不起作用,因为如前所述,值未实现接口(interface):
v.Interface().(encoding.TextUnmarshaler)
最佳答案
使用 v. Addr() .Interface().(encoding.TextUnmarshaler) 获取地址。这假设 v 引用了一个 addressable值(value)。
关于pointers - Go中如何从reflect.Value获取指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48103758/