反射
坑: 反射的时候,结构体里的变量小写,也是不可以修改的.
type aa struct {
AA int
cc int
}
func main() {
var asd aa
asd.AA = 1
asd.cc = 2
var asdd aa
val := reflect.ValueOf(asd)
tp := reflect.TypeOf(asd)
ccc := reflect.ValueOf(&asdd).Elem()
fmt.Println(val,tp)
for i:=0;i<val.NumField();i++{
fmt.Println('-',tp.Field(i).Name, val.Field(i))
fmt.Println(ccc.Field(i),ccc.Field(i).CanSet() )
}
fmt.Println(asd,asdd)
}