From f0474214fec6bc6643f3a4bd83333c59e5feb430 Mon Sep 17 00:00:00 2001 From: nkbai Date: Wed, 25 Nov 2015 23:39:26 +0800 Subject: [PATCH] =?UTF-8?q?GetInt=E7=AD=89=E5=87=BD=E6=95=B0=E7=A8=8D?= =?UTF-8?q?=E5=BE=AE=E7=AE=80=E5=8C=96=E4=B8=80=E4=B8=8B,=E8=BF=99?= =?UTF-8?q?=E6=A0=B7=E7=9C=8B=E4=B8=8A=E5=8E=BB=E6=9B=B4=E5=90=88=E7=90=86?= =?UTF-8?q?=E4=B8=80=E4=BA=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller.go | 71 +++++++++++++++++---------------------------------- 1 file changed, 24 insertions(+), 47 deletions(-) diff --git a/controller.go b/controller.go index 0750daf4..79f3349b 100644 --- a/controller.go +++ b/controller.go @@ -413,91 +413,68 @@ func (c *Controller) GetStrings(key string, def ...[]string) []string { // GetInt returns input as an int or the default value while it's present and input is blank func (c *Controller) GetInt(key string, def ...int) (int, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - return strconv.Atoi(strv) - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - return strconv.Atoi(strv) } + return strconv.Atoi(strv) } // GetInt8 return input as an int8 or the default value while it's present and input is blank func (c *Controller) GetInt8(key string, def ...int8) (int8, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - i64, err := strconv.ParseInt(strv, 10, 8) - i8 := int8(i64) - return i8, err - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - i64, err := strconv.ParseInt(strv, 10, 8) - i8 := int8(i64) - return i8, err } + i64, err := strconv.ParseInt(strv, 10, 8) + return int8(i64), err } // GetInt16 returns input as an int16 or the default value while it's present and input is blank func (c *Controller) GetInt16(key string, def ...int16) (int16, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - i64, err := strconv.ParseInt(strv, 10, 16) - i16 := int16(i64) - return i16, err - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - i64, err := strconv.ParseInt(strv, 10, 16) - i16 := int16(i64) - return i16, err } + i64, err := strconv.ParseInt(strv, 10, 16) + return int16(i64), err } // GetInt32 returns input as an int32 or the default value while it's present and input is blank func (c *Controller) GetInt32(key string, def ...int32) (int32, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - i64, err := strconv.ParseInt(c.Ctx.Input.Query(key), 10, 32) - i32 := int32(i64) - return i32, err - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - i64, err := strconv.ParseInt(c.Ctx.Input.Query(key), 10, 32) - i32 := int32(i64) - return i32, err } + i64, err := strconv.ParseInt(strv, 10, 32) + return int32(i64), err } // GetInt64 returns input value as int64 or the default value while it's present and input is blank. func (c *Controller) GetInt64(key string, def ...int64) (int64, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - return strconv.ParseInt(strv, 10, 64) - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - return strconv.ParseInt(strv, 10, 64) } + return strconv.ParseInt(strv, 10, 64) } // GetBool returns input value as bool or the default value while it's present and input is blank. func (c *Controller) GetBool(key string, def ...bool) (bool, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - return strconv.ParseBool(strv) - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - return strconv.ParseBool(strv) } + return strconv.ParseBool(strv) } // GetFloat returns input value as float64 or the default value while it's present and input is blank. func (c *Controller) GetFloat(key string, def ...float64) (float64, error) { - if strv := c.Ctx.Input.Query(key); strv != "" { - return strconv.ParseFloat(strv, 64) - } else if len(def) > 0 { + strv := c.Ctx.Input.Query(key) + if len(strv) == 0 && len(def) > 0 { return def[0], nil - } else { - return strconv.ParseFloat(strv, 64) } + return strconv.ParseFloat(strv, 64) } // GetFile returns the file data in file upload field named as key.