Назад к вопросам
Junior — Middle
79
Можете объяснить, что такое срез (slice) в программировании и как он работает?
Компании, где спрашивали
Цифровая Эволюция
Ответ от нейросети
sobes.tech AI
Срез (slice) в Go — это динамический, изменяемый по размеру фрагмент массива. Он представляет собой структуру, которая содержит:
- указатель на первый элемент массива,
- длину (количество элементов в срезе),
- емкость (максимальное количество элементов, которое может содержать срез без перераспределения).
Срезы позволяют работать с последовательностями элементов без необходимости копирования данных.
Пример создания и использования среза:
arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // срез элементов с индексами 1,2,3
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // добавляем элемент, при необходимости выделяется новая память
fmt.Println(slice) // [2 3 4 6]
Срезы удобны тем, что можно создавать новые срезы из существующих, изменять их размер и передавать в функции без копирования всего массива.