有谁知道更好的方法来做到这一点?目标是将自定义定义的字段再次从字符串转换回其 int 类型。
switch val.Kind() {
case reflect.Int:
intID, err := strconv.ParseInt(id, 10, 0)
if err != nil {
return err
}
val.Set(reflect.ValueOf(int(intID)))
case reflect.Int8:
intID, err := strconv.ParseInt(id, 10, 8)
if err != nil {
return err
}
val.Set(reflect.ValueOf(int8(intID)))
case reflect.Int16:
intID, err := strconv.ParseInt(id, 10, 16)
if err != nil {
return err
}
val.Set(reflect.ValueOf(int16(intID)))
case reflect.Int32:
intID, err := strconv.ParseInt(id, 10, 32)
if err != nil {
return err
}
val.Set(reflect.ValueOf(int32(intID)))
case reflect.Int64:
intID, err := strconv.ParseInt(id, 10, 64)
if err != nil {
return err
}
val.Set(reflect.ValueOf(intID))
}
相关分类