Back to questions
OZON
Senior
5
Что такое слайс в Go, из чего он состоит, для чего нужен?
Companies where asked
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]