РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
258 of 1593 menu

Функция 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,
    которая создает копию слайса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить