Golang 反射简单简单应用--参数教研

Golang反射

以下内容为个人学习总结,如果有不准确的地方,欢迎指出!

说实话我之前用Python基本没怎么用过反射,估计在Golang里面也一样,在大多数应用和服务中并不常见。

提到反射,就必须要提一下反射的三大定律

  • 1 可以将interface{}类型转换为reflect类型。
  • 2 通过反射对象可以获取 interface{} 变量。
  • 3 值是否可以被更改,能被寻址。(概念不好理解,后面demo解释)

反射的一般使用场景

  • 不确定预定类型的参数,需要根据参数的类型来执行不同的操作。

当然也可以使用Assertion来判断类型,但是这种方式非常麻烦且不准确。

Golang中反射常用的方法

  • reflect.TypeOf 获取类型(对应第一条定律)
  • reflect.ValueOf 获取数据的运行时的表示(对应第二条定律)

一些关于反射的演示

上一篇:(反射与类操作)反射调用构造方法


下一篇:@DataJpaTest 注解测试提示 No ServletContext set 错误