gpt4 book ai didi

go - 函数值 ('function pointers' ) 在 Go 中究竟是如何实现的?

转载 作者:数据小太阳 更新时间:2023-10-29 03:13:29 25 4
gpt4 key购买 nike

来自 the documentation for reflect.Value.Pointer() :

If v's Kind is Func, the returned pointer is an underlying code pointer, but not necessarily enough to identify a single function uniquely. The only guarantee is that the result is zero if and only if v is a nil func Value.

很明显,函数值变量必须包含的不仅仅是代码指针。鉴于 Go 支持方法指针,这不足为奇 - 但实际的底层实现是什么?

(对于使用反射创建的函数值,它有何不同?请参阅评论 in the source for Value.Pointer()。)

最佳答案

the design document 的“新实现”部分描述了函数指针的表示方式。

关于go - 函数值 ('function pointers' ) 在 Go 中究竟是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44395698/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com