Sobes.tech
Back to questions
Junior — Middle
82

Какие способы существуют для модификации среза (slice) в программировании?

Answer from AI

sobes.tech AI

В Go срез (slice) — это структура, которая содержит указатель на массив, длину и ёмкость. Для модификации среза можно использовать несколько способов:

  1. Изменение элементов по индексу — напрямую присваивать значения элементам среза.
s := []int{1, 2, 3}
s[0] = 10
  1. Добавление элементов с помощью функции append — создаёт новый срез, если ёмкость исходного недостаточна.
s = append(s, 4, 5)
  1. Удаление элементов — можно реализовать через создание нового среза, исключающего нужные элементы.
// удаление элемента с индексом i
s = append(s[:i], s[i+1:]...)
  1. Изменение длины среза через срезы слайсинга
s = s[:len(s)-1] // уменьшение длины
  1. Копирование срезов с помощью copy
copy(destSlice, sourceSlice)

Таким образом, модификация среза может быть как изменение содержимого, так и изменение длины или ёмкости с помощью append и срезов.