package number import "math" type Number interface { ~int | ~int8 | ~int16 | ~int32 | int64 | ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr | ~float32 | ~float64 } // IsBetween n是否在a、b之间(等于也算) func IsBetween[T Number](n T, a T, b T) bool { if (n > a && n > b) || (n < a && n < b) { return false } return true } func Min[T Number](a T, b T) T { if a <= b { return a } return b } func Max[T Number](a T, b T) T { if a >= b { return a } return b } func Abs[T Number](num T) T { abs := math.Abs(float64(num)) return T(abs) }