2017-06-06 21 views
0

the documentation for reflect.Value.Pointer()在Go中實現的函數值('函數指針')究竟如何?

如果v的一種是FUNC按鍵,返回的指針是底層代碼的指針,但不一定足以唯一標識一個單一的功能。唯一的保證是,當且僅當v是一個nil func值時,結果爲零。

看來很清楚,函數值變量必須包含的不僅僅是一個代碼指針。鑑於Go支持方法指針,這並不奇怪 - 但實際的底層實現是什麼?

(它是如何不同,如果在所有,使用反射創建的函數值?見註釋in the source for Value.Pointer()。)

回答