这里只说一下golang中反射的作用,使用方法和原理不谈

反射的作用

当不知道类型的时候,可以通过反射来实现更新变量、运行时查看值调用方法以及直接对他们的布局进行操作

情景

比如需要一个函数来处理一个值,但是值的类型不确定,若用一般方法,需要用.(type)来获取值类型,然后用一连串的switch来分类讨论,而使用反射就可以在不知道类型的情况下对值进行操作。

具体功能

  • 获取变量内部信息
  • struct的反射
  • 匿名或嵌入字段的反射
  • 判断传入的类型是否是我们想要的类型
  • 通过反射修改内容
  • 通过反射调用方法

参考

https://blog.csdn.net/u011957758/article/details/81193806