反射数据包在运行时反映,允许程序操作任何类型的对象。典型用途是:取静态类型的值。通过调用以获取其动态类型信息,该呼叫将返回指示指示数据的数据的值。本文通过记录简单使用反射软件包对反射有一定的了解。本文中使用的GO版本:
在理解反思之前,首先了解以下概念:
在基本级别,反射只是检测接口变量相反的机制。
您可以使用反射软件包的方法在接口变量值中获得对。这些类型和谐。
(1)方法:
返回到动态类型的反射。因此,然后返回。
(2)方法:
将初始化的新值返回到接口中存储的特定值。将返回到零。在反射对象中,零是不值得的。
返回一个方法的方法将被返回。
底部值的方法作为字符串返回。
反射:
有一种方法可以返回一种类型的存储类型。例如,等待。
类似,此名称的方法可以在内部获取存储的值。
“ Getter”和“ Setter”(设置)将操作可以保存值的最大类型。例如,对于所有符号整数,它是INT64。
像物理反射一样,GO中的反射产生了自己的反向。一种可用于还原接口值的方法。将类型和值信息包装回接口。
方法:
退货的当前值已返回。相当于:
练习代码:
设置是一个属性,表明反射对象可以修改用于创建反射对象的实际存储。可以通过方法获得建立的。如果无法调用方法,将报告错误。
可以间接使用类型的类型来获得要实现的设置。
它是复制中内容类型获得的值。存储的内容存储的内存地址和该值中存储的内存地址是不同的。因此,无法通过它修改它以修改存储在存储中的内容。
可以在上面的代码中看到,在调用后,反射对象和反射对象的创建都已更改。
使用反射修改结构的字段:
上面提到的练习代码在文件中,该文件在练习过程中运行终端中的文件。
GO语法:GO编程语言规范 - GO编程语言
GO中的反射法:反思法律 - GO编程语言
反射包:反射软件包-Reflect -pkg.go.dev
原始:https://juejin.cn/post/709753498989029343246