| 123456789101112131415161718192021222324 |
- package cmp
- // OrderedNumbers 支持的有序数值类型集合
- type OrderedNumbers interface {
- ~int | ~int8 | ~int16 | ~int32 | ~int64 |
- ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr |
- ~float32 | ~float64
- }
- // CompareOrdered 通用比较,返回 -1/0/1
- func CompareOrdered[T OrderedNumbers](a, b T) int {
- if a < b {
- return -1
- }
- if a > b {
- return 1
- }
- return 0
- }
- // 方便函数(可按需增减)
- func CompareInt32(a, b int32) int { return CompareOrdered(a, b) }
- func CompareInt64(a, b int64) int { return CompareOrdered(a, b) }
- func CompareFloat64(a, b float64) int { return CompareOrdered(a, b) }
|