ShrinkSliceAt 추가
This commit is contained in:
13
misc.go
13
misc.go
@ -104,6 +104,19 @@ func SerializeInterface(w io.Writer, val interface{}) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ShrinkSliceAt[T any](in []T, from int) []T {
|
||||||
|
if len(in) == 0 {
|
||||||
|
return in
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor := from
|
||||||
|
for i := from + 1; i < len(in); i++ {
|
||||||
|
in[cursor] = in[i]
|
||||||
|
cursor++
|
||||||
|
}
|
||||||
|
return in[:len(in)-1]
|
||||||
|
}
|
||||||
|
|
||||||
func ShrinkSlice[T any](in []T, compare func(elem T) bool) []T {
|
func ShrinkSlice[T any](in []T, compare func(elem T) bool) []T {
|
||||||
if len(in) == 0 {
|
if len(in) == 0 {
|
||||||
return in
|
return in
|
||||||
|
|||||||
Reference in New Issue
Block a user