2017-06-06 15 views
0

the documentation for reflect.Value.Pointer()在Go中实现的函数值('函数指针')究竟如何?

如果v的一种是FUNC按键,返回的指针是底层代码的指针,但不一定足以唯一标识一个单一的功能。唯一的保证是,当且仅当v是一个nil func值时,结果为零。

看来很清楚,函数值变量必须包含的不仅仅是一个代码指针。鉴于Go支持方法指针,这并不奇怪 - 但实际的底层实现是什么?

(它是如何不同,如果在所有,使用反射创建的函数值?见注释in the source for Value.Pointer()。)

回答