我有一个这样的结构:
type User struct {
Name string
UID int
Bio string
}
我有一个给定的实例化结构,我想遍历该对象中的字段并逐个修改它们。
这是我到目前为止所拥有的
user := User{
Name: "Test",
UID: 1,
Bio: "Test bio",
}
reflectVal := reflect.ValueOf(user)
numFields := reflectVal.NumField()
for i := 0; i < numFields; i++ {
fieldType := reflect.TypeOf(reflectVal.Field(i))
reflectVal.Field(i).Set(reflect.Zero(fieldType))
...
}
但是我得到了这个错误:
panic: reflect: reflect.Value.Set using unaddressable value
有没有办法做到这一点?