slice: FilterDelete
flycash opened this issue · comments
Ming Deng commented
仅限中文
使用场景
近期我遇到了一个新的场景,即在 slice 中删除某些符合条件的元素,那么大体上来说,我需要方法:
func FilterDelete[Src any](src []Src, m func(idx int, src Src) bool) []Src {}
这个实现如果不考虑性能的话倒是蛮简单的,但是如果考虑性能的话,我希望能够做到:不会产生复制,只会把被删除元素之后的元素往前挪。
那么这里会有另外一个问题,就是如果我删除了多个元素,那么我希望对于一个没被删除的元素来说,只会被移动一次。