diff --git a/tools/tools.go b/tools/tools.go index 1a4bafb..5be666a 100644 --- a/tools/tools.go +++ b/tools/tools.go @@ -124,11 +124,11 @@ func (m *tools) Items2Map(items [][]int64) (list map[int64]int64) { // 该函数通过遍历切片,从后向前检查每个元素,如果找到与指定值相等的元素,则将其从切片中移除。 // 这种从后向前的遍历方法可以避免因移除元素而导致的数组重新排列带来的额外计算。 // RemoveSlice 删除切片中的某个值 -func RemoveSlice[t Number](slice []t, value t) []t { +func RemoveSlice[t Number](slice []t, value ...t) []t { // 从后向前遍历切片 for i := len(slice) - 1; i >= 0; i-- { // 检查当前元素是否等于需要移除的值 - if slice[i] == value { + if InArray(slice[i], value) { // 如果相等,移除该元素 // 使用append和切片操作符来实现移除操作,将i之前和i之后的元素合并到一起 slice = append(slice[:i], slice[i+1:]...)