反射可以获取变量的 方法 + 字段,
t := reflect.TypeOf(struct) v := reflect.VypeOf(struct)
t.NumField()
t.Field(i) v.Field(i) | v.FieldByName(t.Field(i).name)
//反射 获取字段 指针传值修改 使用 Elem()
t.Field(i).name 、t.Elem().Field(i).name、t.FieldByName( t.Field(i).name )
//反射 设置值
if ( t.Field(i).Type.Kind() == reflect.Int ) { v.Elem().Field(i).SetInt(112233) }
//反射 调用方法
v.Method(i).Call(reflect.value{})
优缺点
动态适配
效率比静态的低、一般用不到
应用场景
配置文件读取 等