21 lines
420 B
Go
21 lines
420 B
Go
|
package x
|
||
|
|
||
|
func indexOf[T comparable] (haystack []T, needle T) int {
|
||
|
for index, test := range haystack {
|
||
|
if test == needle {
|
||
|
return index
|
||
|
}
|
||
|
}
|
||
|
return -1
|
||
|
}
|
||
|
|
||
|
func remove[T any] (slice []T, index int) []T {
|
||
|
return append(slice[:index], slice[index + 1:]...)
|
||
|
}
|
||
|
|
||
|
func insert[T any] (slice []T, index int, element T) []T {
|
||
|
slice = append(slice[:index + 1], slice[index:]...)
|
||
|
slice[index] = element
|
||
|
return slice
|
||
|
}
|