反射三定律:1、反射可以将“接口类型变量”转换为“反射类型对象”,这里反射类型指“reflect.Type”和 “reflect.Value”;2、反射可以将“反射类型对象”转换为“接口类型变量”;3、如果要修改“反射类型对象”其值必须是“可写的”。
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
在反射的世界里,我们拥有了获取一个对象的类型,属性及方法的能力。
两种类型:Type 和 Value
在 Go 反射的世界里,有两种类型非常重要,是整个反射的核心,在学习 reflect 包的使用时,先得学习下这两种类型:
-
reflect.Type
-
reflect.Value
它们分别对应着真实世界里的 type 和 value,只不过在反射对象里,它们拥有