slice shrink 추가

This commit is contained in:
2023-12-01 19:34:49 +09:00
parent 188d310b42
commit 51a1e352bc

12
misc.go
View File

@ -103,3 +103,15 @@ func SerializeInterface(w io.Writer, val interface{}) (err error) {
return
}
func ShrinkSlice[T any](in []T, compare func(elem T) bool) []T {
cursor := 0
for i := 0; i < len(in); i++ {
if compare(in[i]) {
continue
}
in[cursor] = in[i]
cursor++
}
return in[:cursor]
}