Sobes.tech
Назад к вопросам
Junior — Middle
80

Можете объяснить принцип функционирования срезов (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) // добавляем элемент, если ёмкость позволяет, расширяется срез

Срезы удобны тем, что позволяют эффективно работать с данными, не копируя массивы, и динамически изменять размер последовательности.