标签: go function-pointers member-function-pointers
来自the documentation for reflect.Value.Pointer():
reflect.Value.Pointer()
如果v的Kind是Func,则返回的指针是底层代码指针,但不一定足以唯一地标识单个函数。唯一的保证是当且仅当v是nil func值时结果为零。
似乎很清楚,函数值变量必须包含的不仅仅是代码指针。鉴于Go支持方法指针,这并不奇怪 - 但实际的底层实现是什么?
(如果有的话,对于使用反射创建的函数值,它有何不同?请参阅注释in the source for Value.Pointer()。)
答案 0 :(得分:1)
the design document的“新实现”部分描述了如何表示函数指针。