Files
aggregate_translate_server/utils/utility/slice.go

40 lines
804 B
Go
Raw Normal View History

2025-06-29 00:36:30 +08:00
package utility
// SplitSlice 将 []string 切片根据最大数量分割成二维数组
func SplitSlice[T any](slice []T, maxSize int) [][]T {
var result [][]T
// 遍历切片,每次取 maxSize 个元素
for i := 0; i < len(slice); i += maxSize {
end := i + maxSize
// 如果 end 超出切片长度,则取到切片末尾
if end > len(slice) {
end = len(slice)
}
// 将当前段添加到结果中
result = append(result, slice[i:end])
}
return result
}
// ContainsInt []int 包含元素?
func ContainsInt(arr []int, v int) bool {
for _, a := range arr {
if a == v {
return true
}
}
return false
}
func ContainsString(arr []string, v string) bool {
for _, a := range arr {
if a == v {
return true
}
}
return false
}