反射的作用
- 反射可以在运行时动态获取变量的各种信息,比如变量的类型(type),类别(kind)
- 如果是结构体变量,还可以获取到结构体本身的信息(结构体的字段、方法)
- 通过反射,可以修改变量的值,可以调用关联的方法
官方文档:https://studygolang.com/pkgdoc
反射的使用
// 获取type
t := reflect.TypeOf()
// 获取value
v := reflect.ValueOf()
// 将值转换为接口类型
inter := v.Interface()
// 将接口强制转换为int
inter.(int)
// 获取常量的类别,kind是一个常量
v.Kind()
t.Kind()
// 获取指针元素的值
v.Elem()