我有一个类型的结构
type test struct {
fname string
time time.Time
}
我只想使用reflect package将字段“time”的值设置为time.Now()。
我正在创建一个类似这样的函数:
func setRequestParam(arg interface{}, param string, value interface{}) {
v := reflect.ValueOf(arg).Elem()
f := v.FieldByName(param)
if f.IsValid() {
if f.CanSet() {
if f.Kind() == reflect.String {
f.SetString(value.(string))
return
} else if f.Kind() == reflect.Struct {
f.Set(reflect.ValueOf(value))
}
}
}
}
f.Set(reflect.ValueOf(value))