38 lines
615 B
Go
38 lines
615 B
Go
package convertor
|
|
|
|
import (
|
|
"net/url"
|
|
"strconv"
|
|
)
|
|
|
|
func ConvertInt[T int | int16 | int32 | int64](value string, defaultValue T) T {
|
|
i, err := strconv.Atoi(value)
|
|
if err != nil {
|
|
return defaultValue
|
|
}
|
|
return T(i)
|
|
}
|
|
|
|
func ConvertBool(value string, defaultValue bool) bool {
|
|
b, err := strconv.ParseBool(value)
|
|
if err != nil {
|
|
return defaultValue
|
|
}
|
|
|
|
return b
|
|
}
|
|
|
|
func QueryInt[T int | int16 | int32 | int64](vars url.Values, key string, defaultValue T) T {
|
|
v := vars.Get(key)
|
|
if len(v) == 0 {
|
|
return defaultValue
|
|
}
|
|
|
|
i, err := strconv.Atoi(v)
|
|
if err != nil {
|
|
return defaultValue
|
|
}
|
|
|
|
return T(i)
|
|
}
|