Слайсы — это динамичные, гибкие представления, построенные поверх массивов в Go. Они дают возможность работать с непрерывными последовательностями элементов, при этом избавляя тебя от ограничения на фиксированный размер массивов.
Слайс не хранит данные сам по себе; вместо этого он ссылается на непрерывный участок массива. Когда ты создаёшь слайс, ты по сути создаёшь дескриптор, который указывает на конкретные элементы в массиве:
slice := array[start:end]
Слайс отслеживает:
len): количество доступных элементовcap): максимальное количество элементов, доступных с позиции указателяappend() для добавления элементов без предварительного выделения фиксированного пространстваИзменение элементов через один слайс затронет другие слайсы, которые ссылаются на тот же underlying-массив. Это поведение важно понимать при работе с несколькими ссылками на слайсы.
Slice — это reference type, который содержит указатель на базовый массив вместе с его длиной и ёмкостью.
Новый — ещё не проверен сообществом
Вы