Golang 反射改进

有谁知道更好的方法来做到这一点?目标是将自定义定义的字段再次从字符串转换回其 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))

   }


慕娘9325324
浏览 172回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go