Go 学习笔记(十二)- 反射

反射是可以更新未知类型变量值的方法。 为何需要反射?有时候我们需要编写一个函数能够处理一类并不满足普通公共接口的类型的值,也可能是因为它们并没有确定的表示方式,或者是在我们设计该函数的时候还这些类型可能还不存在,各种情况都有可能。 例如 fmt.Fprintf 函数的参数,我们通过之前的知识,可以利用接口断言实现,但是数组,结构体之类的组合后是无穷无尽的,所以必须借助反射实现。 reflect.Type 和 reflect.Value函数 reflect.TypeOf 接受