remove_slice.go 380 B

12345678910111213141516171819
  1. // remove_slice.go
  2. package main
  3. import (
  4. "fmt"
  5. )
  6. func main() {
  7. s := []string{"M", "N", "O", "P", "Q", "R"}
  8. res := RemoveStringSlice(s, 2, 4)
  9. fmt.Println(res) // [M N Q R]
  10. }
  11. func RemoveStringSlice(slice []string, start, end int) []string {
  12. result := make([]string, len(slice)-(end-start))
  13. at := copy(result, slice[:start])
  14. copy(result[at:], slice[end:])
  15. return result
  16. }