使用反射,我们可以获得给定类型(如uint64、用户自定义结构体等)的类型名称、存储大小和功能。甚至,我们可以修改给定类型的一些字段。golang 是如何实现反射的?我猜有以下几种方式:
golang 中的每个类型,包括自定义类型,本身都有类型名称、字段名称和函数名称的信息。Golang 反射只是读取这些信息或调用函数。
通过某种机制,Golang 可以获得类型名称、存储大小等信息。而类型本身没有这些信息。
我粗略地阅读了golang反射代码。我猜golang使用了第二种方式。谁能描述反射的具体实现?或者推荐我一些文件?阅读所有代码对我来说很困难。
ibeautiful
吃鸡游戏
相关分类