From c4c9a50c42432e688b789626ec3e07de07d4afe1 Mon Sep 17 00:00:00 2001 From: astaxie Date: Wed, 1 Apr 2015 23:31:40 +0800 Subject: [PATCH] fix #1081 --- controller.go | 72 ++++++++++++++++++++------------------------------- 1 file changed, 28 insertions(+), 44 deletions(-) diff --git a/controller.go b/controller.go index e056f52d..81ee1230 100644 --- a/controller.go +++ b/controller.go @@ -406,106 +406,90 @@ 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) { - var defv int - if len(def) > 0 { - defv = def[0] - } - if strv := c.Ctx.Input.Query(key); strv != "" { return strconv.Atoi(strv) + } else if len(def) > 0 { + return def[0], nil } else { - return defv, nil + 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) { - var defv int8 - if len(def) > 0 { - defv = def[0] - } - 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 { + return def[0], nil } else { - return defv, nil + i64, err := strconv.ParseInt(strv, 10, 8) + i8 := int8(i64) + return i8, 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) { - var defv int16 - if len(def) > 0 { - defv = def[0] - } - 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 { + return def[0], nil } else { - return defv, nil + i64, err := strconv.ParseInt(strv, 10, 16) + i16 := int16(i64) + return i16, 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) { - var defv int32 - if len(def) > 0 { - defv = def[0] - } - 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 { + return def[0], nil } else { - return defv, nil + i64, err := strconv.ParseInt(c.Ctx.Input.Query(key), 10, 32) + i32 := int32(i64) + return i32, 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) { - var defv int64 - if len(def) > 0 { - defv = def[0] - } - if strv := c.Ctx.Input.Query(key); strv != "" { return strconv.ParseInt(strv, 10, 64) + } else if len(def) > 0 { + return def[0], nil } else { - return defv, nil + 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) { - var defv bool - if len(def) > 0 { - defv = def[0] - } - if strv := c.Ctx.Input.Query(key); strv != "" { return strconv.ParseBool(strv) + } else if len(def) > 0 { + return def[0], nil } else { - return defv, nil + 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) { - var defv float64 - if len(def) > 0 { - defv = def[0] - } - if strv := c.Ctx.Input.Query(key); strv != "" { - return strconv.ParseFloat(c.Ctx.Input.Query(key), 64) + return strconv.ParseFloat(strv, 64) + } else if len(def) > 0 { + return def[0], nil } else { - return defv, nil + return strconv.ParseFloat(strv, 64) } }