refactor(fight): 重构暴击判断逻辑并优化伤害计算,添加泛型Max函数到utils包
This commit is contained in:
@@ -20,3 +20,18 @@ func ToSliceMap[T any, K comparable](slice []T, keyFunc func(T) K) map[K][]T {
|
||||
}
|
||||
return m
|
||||
}
|
||||
|
||||
// 定义泛型约束:只允许数值类型(整数、浮点数等)
|
||||
type Number interface {
|
||||
int | int8 | int16 | int32 | int64 |
|
||||
uint | uint8 | uint16 | uint32 | uint64 |
|
||||
float32 | float64
|
||||
}
|
||||
|
||||
// Max 泛型函数:接收两个同类型的 Number 参数,返回最大值
|
||||
func Max[T Number](a, b T) T {
|
||||
if a > b {
|
||||
return a
|
||||
}
|
||||
return b
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user