Sobes.tech
Back to questions
Senior
5

Что такое слайс в Go, из чего он состоит, для чего нужен?

Companies where asked
OZONOZON

Answer from AI

sobes.tech AI

Слайс в Go — это динамический, изменяемый по размеру, последовательный тип данных, который представляет собой окно (срез) на массив. Он состоит из трёх компонентов:

  • Указатель на первый элемент массива, который лежит в основе слайса.
  • Длина (len) — количество элементов, доступных через слайс.
  • Ёмкость (cap) — максимальное количество элементов, которые можно вместить, начиная с указателя, без выделения новой памяти.

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

Пример создания и использования слайса:

arr := [5]int{1, 2, 3, 4, 5}
slice := arr[1:4] // слайс из элементов 2,3,4
fmt.Println(slice) // [2 3 4]
slice = append(slice, 6) // добавляем элемент, возможно выделение новой памяти
fmt.Println(slice) // [2 3 4 6]