首页 > 其他 > 详细

Golang 反射

时间:2020-05-03 22:51:00      阅读:47      评论:0      收藏:0      [点我收藏+]

Go 语言中的变量分为两部分:类型信息、值信息

 

反射:

  反射是指在程序运行期对对程序本身进行访问和修改的能力。程序在编译时,变量被转换成内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。

  支持反射的语言可以在程序编译时期将变量的反射信息,如字段名、字段类型、结构体信息等整合到可执行文件中,并给程序提供可以访问的接口,这样就可以在程序运行时期获取类型的反射信息,并且有能力修改他们。

  Go程序在运行期使用reflect包访问程序的反射信息。

 

reflect包

  在Go语言的反射机制中,任何接口值都由一个具体的类型和一个具体类型的值两部分构成。在Go语言中反射相关的功能有内置的reflect包提供,任意接口值都可以理解为reflect.type 和 reflect.value两部分组成。并且提供了接口reflect.typeof 和 reflect.valueof两个函数来获取任意对象的value和type

Golang 反射

原文:https://www.cnblogs.com/flycc/p/12823995.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!