package convertor import ( "net/url" "strconv" "time" ) 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) } func DefaultStartTimeAndEndTime(start string, end string) (string, string) { if len(start) == 0 { start = "2000-01-01 00:00:00" } if len(end) == 0 { end = time.Now().Add(time.Hour * 24).Format(time.DateTime) } return start, end }