反射
坑: 反射的时候,结构体里的变量小写,也是不可以修改的.
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)
}