type Person struct {
Name string
Age int
}
func main() {
a := &Person{"Name", 1}
v := reflect.ValueOf(a).Elem() //a需要是引用
k := v.Type()
for i := 0; i < v.NumField(); i++ {
key := k.Field(i)
val := v.Field(i)
fmt.Println(key.Name, val.Type(), val.Interface())
}
运行结果
Name string Name
Age int 1
本人微信: 本人QQ:
如果要改变值的内容
v.FieldByName(key.Name).SetString("值")