Функция slices.Delete
Функция slices.Delete удаляет элементы из слайса
в заданном диапазоне индексов. Она принимает три параметра:
исходный слайс, начальный индекс (включительно) и конечный
индекс (исключительно). Функция возвращает новый слайс,
содержащий все элементы, кроме удаленных. Обратите внимание,
что функция не изменяет исходный слайс, а создает новый.
Синтаксис
slices.Delete(slice, start, end)
Пример
Давайте удалим элементы с индексами 1, 2 и 3 из слайса
содержащего строки 'a', 'b', 'c', 'd', 'e':
package main
import (
"fmt"
"slices"
)
func main() {
slice := []string{"a", "b", "c", "d", "e"}
res := slices.Delete(slice, 1, 4)
fmt.Println(res)
}
Результат выполнения кода:
[a e]
Пример
Давайте удалим первый элемент из слайса чисел
[1, 2, 3, 4, 5]:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []int{1, 2, 3, 4, 5}
res := slices.Delete(slice, 0, 1)
fmt.Println(res)
}
Результат выполнения кода:
[2 3 4 5]
Пример
Давайте удалим последний элемент из слайса строк
['a', 'b', 'c', 'd', 'e']:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []string{"a", "b", "c", "d", "e"}
lastIndex := len(slice)
res := slices.Delete(slice, lastIndex-1, lastIndex)
fmt.Println(res)
}
Результат выполнения кода:
[a b c d]
Пример
Давайте удалим все элементы из слайса чисел, оставив пустой слайс:
package main
import (
"fmt"
"slices"
)
func main() {
slice := []int{1, 2, 3, 4, 5}
res := slices.Delete(slice, 0, len(slice))
fmt.Println(res)
}
Результат выполнения кода:
[]
Пример
Важно отметить, что функция slices.Delete
не изменяет исходный слайс, а создает новый.
Давайте проверим это на примере:
package main
import (
"fmt"
"slices"
)
func main() {
original := []string{"a", "b", "c", "d", "e"}
res := slices.Delete(original, 1, 3)
fmt.Println("Original:", original)
fmt.Println("Result:", res)
}
Результат выполнения кода:
"Original: [a b c d e]"
"Result: [a d e]"
Как видно из примера, исходный слайс остался неизменным, а функция вернула новый слайс с удаленными элементами.
Смотрите также
-
функцию
slices.DeleteFunc,
которая удаляет элементы по условию -
функцию
slices.Insert,
которая вставляет элементы в слайс -
функцию
slices.Replace,
которая заменяет элементы в слайсе -
функцию
slices.Clone,
которая создает копию слайса