一篇学会Go中reflect反射的详细用法
应用场景
1.判断函数变量是否否和标准
2.验证接口值是否合理如(是否为空,传入的字段是否合规)
3.获取变量的类型进行断言等操作
在Go语言的反射机制中,任何接口值都由是一个具体类型和具体类型的值两部分组成的(我们在上一篇接口的博客中有介绍相关概念)。 在Go语言中反射的相关功能由内置的reflect包提供,任意接口值在反射中都可以理解为由reflect.Type和reflect.Value两部分组成,并且reflect包提供了reflect.TypeOf和reflect.ValueOf两个函数来获取任意对象的Value和Type。
1.结构体中使用反射
- 获取 2 种类型信息的方法:
reflect.TypeOf() 获取类型信息,返回 Type 类型;
reflect.ValueOf() 获取数据信息,返回 Value 类型。