2024-12-13 15:01:40 +08:00
|
|
|
package tool
|
|
|
|
|
|
|
|
func Min[T ~string | ~int | ~int64 | ~uint64 | ~float64 | ~float32 | ~int32 | ~uint32 | ~int16 | ~uint16 | ~int8 | ~uint8](a, b T) T {
|
|
|
|
if a <= b {
|
|
|
|
return a
|
|
|
|
}
|
|
|
|
|
|
|
|
return b
|
|
|
|
}
|
|
|
|
|
2025-02-07 18:00:10 +08:00
|
|
|
func CalculateLimit(limit, total, max int) int {
|
2024-12-13 15:01:40 +08:00
|
|
|
if max == 0 {
|
2025-02-07 18:00:10 +08:00
|
|
|
return limit
|
2024-12-13 15:01:40 +08:00
|
|
|
}
|
|
|
|
|
2025-02-07 18:00:10 +08:00
|
|
|
if max-total > 0 {
|
|
|
|
return Min(max-total, limit)
|
2024-12-13 15:01:40 +08:00
|
|
|
}
|
|
|
|
|
2025-02-07 18:00:10 +08:00
|
|
|
return 0
|
2024-12-13 15:01:40 +08:00
|
|
|
}
|