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