Commit 33c19435 by zhengqiuyun86

go升级,泛型使用

parent de5ac3d0
...@@ -7,22 +7,57 @@ import ( ...@@ -7,22 +7,57 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"io" "io"
"net/http" "net/http"
"strconv"
"strings" "strings"
) )
func Param[T any](c *gin.Context, key string) T { func ParamInt64(c *gin.Context, key string) int64 {
val, ok := c.Get(key) return int64(ParamInt(c, key))
if ok { }
exception.ThrowsErrS("PARAMS_ERR", fmt.Sprintf("参数[%s]必传", key))
} else { func ParamInt32(c *gin.Context, key string) int32 {
i, k := val.(T) return int32(ParamInt(c, key))
if k { }
return i
} else { func ParamInt16(c *gin.Context, key string) int16 {
exception.ThrowsErrS("PARAMS_ERR", fmt.Sprintf("参数[%s]不合规", key)) return int16(ParamInt(c, key))
} }
func ParamInt8(c *gin.Context, key string) int8 {
return int8(ParamInt(c, key))
}
func ParamUint64(c *gin.Context, key string) uint64 {
return uint64(ParamInt(c, key))
}
func ParamUint32(c *gin.Context, key string) uint32 {
return uint32(ParamInt(c, key))
}
func ParamUint16(c *gin.Context, key string) uint16 {
return uint16(ParamInt(c, key))
}
func ParamUint8(c *gin.Context, key string) uint8 {
return uint8(ParamInt(c, key))
}
func ParamInt(c *gin.Context, key string) int {
v := Param(c, key)
i, err := strconv.Atoi(v)
if err != nil {
exception.ThrowsErrS("PARAMS_ERR", "请传入正确的数字")
}
return i
}
func Param(c *gin.Context, key string) string {
v, ok := c.GetQuery(key)
if !ok || v == "" {
exception.ThrowsErrS("PARAMS_ERR", fmt.Sprintf("%s不能为空", key))
} }
return val.(T) return v
} }
const ( const (
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment