1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 11:50:55 +00:00

GetInt等函数稍微简化一下,这样看上去更合理一些

This commit is contained in:
nkbai 2015-11-25 23:39:26 +08:00
parent 50132df809
commit f0474214fe

View File

@ -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 // 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) { func (c *Controller) GetInt(key string, def ...int) (int, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
return strconv.Atoi(strv) if len(strv) == 0 && len(def) > 0 {
} else if len(def) > 0 {
return def[0], nil 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 // 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) { func (c *Controller) GetInt8(key string, def ...int8) (int8, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
i64, err := strconv.ParseInt(strv, 10, 8) if len(strv) == 0 && len(def) > 0 {
i8 := int8(i64)
return i8, err
} else if len(def) > 0 {
return def[0], nil 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 // 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) { func (c *Controller) GetInt16(key string, def ...int16) (int16, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
i64, err := strconv.ParseInt(strv, 10, 16) if len(strv) == 0 && len(def) > 0 {
i16 := int16(i64)
return i16, err
} else if len(def) > 0 {
return def[0], nil 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 // 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) { func (c *Controller) GetInt32(key string, def ...int32) (int32, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
i64, err := strconv.ParseInt(c.Ctx.Input.Query(key), 10, 32) if len(strv) == 0 && len(def) > 0 {
i32 := int32(i64)
return i32, err
} else if len(def) > 0 {
return def[0], nil 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. // 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) { func (c *Controller) GetInt64(key string, def ...int64) (int64, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
return strconv.ParseInt(strv, 10, 64) if len(strv) == 0 && len(def) > 0 {
} else if len(def) > 0 {
return def[0], nil 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. // 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) { func (c *Controller) GetBool(key string, def ...bool) (bool, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
return strconv.ParseBool(strv) if len(strv) == 0 && len(def) > 0 {
} else if len(def) > 0 {
return def[0], nil 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. // 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) { func (c *Controller) GetFloat(key string, def ...float64) (float64, error) {
if strv := c.Ctx.Input.Query(key); strv != "" { strv := c.Ctx.Input.Query(key)
return strconv.ParseFloat(strv, 64) if len(strv) == 0 && len(def) > 0 {
} else if len(def) > 0 {
return def[0], nil 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. // GetFile returns the file data in file upload field named as key.