首页 > 编程笔记 > Go语言笔记

Go语言反射机制简介

从定义上看,反射是指计算机程序在运行时(Run Time)可以访问、检测和修改它本身状态或行为的一种能力。简单来说,反射就是程序在运行时能够观察并修改自己的行为。

不同语言的反射机制不尽相同,有些语言不支持反射。Go 语言的反射机制可以在运行时更新变量和检查它们的值,或者调用它们的函数方法,但是在编译时并不知道这些变量的数据类型。

编译语言在运行时需要对代码的词义、语法和语义执行编译过程,将代码转为汇编语言,再通过汇编程序把汇编语言翻译为机器指令,最后由计算机执行机器指令,从而完成整个程序的执行过程。

由于编译过程是不可逆的,如果代码在执行过程中需要访问、检测和修改它本身的状态或行为,这时候需要由反射机制实现。

反射机制的常用场景如下:
在程序中使用反射机制会对程序造成一定影响,说明如下:

推荐阅读