Как удалить элемент из slice

«Как удалить элемент из slice» — вопрос из категории Golang, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go нет встроенной функции для удаления элемента из слайса, но можно сделать это вручную, используя срезы и append.

Способ 1 (без сохранения порядка):
Меняем удаляемый элемент с последним и укорачиваем слайс.

s := []int{1, 2, 3, 4}
i := 2 // индекс удаляемого элемента
s[i] = s[len(s)-1] // заменяем последним
s = s[:len(s)-1]   // обрезаем

Способ 2 (с сохранением порядка):
Используем append для сдвига элементов.

s := []int{1, 2, 3, 4}
i := 2 // индекс удаляемого элемента
s = append(s[:i], s[i+1:]...)  

⚠️ Важно: Оба способа изменяют исходный слайс. Если нужна копия, сначала сделайте copy.