```
All checks were successful
ci/woodpecker/push/my-first-workflow Pipeline was successful

feat(utils): 添加切片元素计数功能

新增CountSliceElements函数用于统计切片中各元素的出现次数,
返回map[元素]出现次数的映射关系,支持任意可比较类型的切片元素。

fix(config): 调整地图配置模型默认值设置

修改MapPit结构体中的MinLevel和MaxLevel字段设置,
将数据库约束改为非空并设置默认值为1,确保等级范围配置的有效性。

ref
This commit is contained in:
昔念
2026-02-26 22:32:15 +08:00
parent 21ae004979
commit bfafd5789d
4 changed files with 36 additions and 34 deletions

View File

@@ -84,3 +84,18 @@ func RandomSlice[T any](slice []T, n int) []T {
return result
}
// T: 切片元素类型必须是可比较类型满足map键的要求
// 返回值map[T]int - 键为切片元素,值为对应出现次数
func CountSliceElements[T comparable](slice []T) map[T]int {
// 初始化map预设容量为切片长度优化性能
countMap := make(map[T]int, len(slice))
// 遍历切片,统计每个元素的出现次数
for _, v := range slice {
// 若元素已存在,值+1不存在则自动初始化为0后+1
countMap[v]++
}
return countMap
}