14 lines
268 B
Go
14 lines
268 B
Go
package util
|
|
|
|
type fNumber interface {
|
|
int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | float32 | float64
|
|
}
|
|
|
|
func SumSlice[T any, K fNumber](objs []T, sumFn func(T) K) K {
|
|
sum := K(0)
|
|
for _, obj := range objs {
|
|
sum += sumFn(obj)
|
|
}
|
|
return sum
|
|
}
|