修改删除结构体方法,支持传递多个数据进行删除

This commit is contained in:
ayflying
2025-03-13 16:25:28 +08:00
parent 70ebaae3d2
commit 4963780a32

View File

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