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