Слайс — это легкая оболочка над массивом. Он не хранит данные сам по себе, а ссылается на базовый массив.
Структура слайса:
go
make([]T, length, capacity)
создается базовый массив указанной емкости и слайс, ссылающийся на него с указанной длиной.arr[low:high:max]
) создается новый слайс, который ссылается на ту же область памяти базового массива, но с другими указателем, длиной и емкостью.append
может привести к перевыделению памяти. Если текущая емкость недостаточна для добавления новых элементов, Go создает новый, больший базовый массив, копирует в него элементы старого массива и обновляет указатель слайса на новый массив. Это называется реаллокацией. Алгоритм роста емкости при аппенде экспоненциальный (удваивается до определенноСлайс — это легкая оболочка над массивом. Он не хранит данные сам по себе, а ссылается на базовый массив.
Структура слайса:
go
make([]T, length, capacity)
создается базовый массив указанной емкости и слайс, ссылающийся на него с указанной длиной.arr[low:high:max]
) создается новый слайс, который ссылается на ту же область памяти базового массива, но с другими указателем, длиной и емкостью.append
может привести к перевыделению памяти. Если текущая емкость недостаточна для добавления новых элементов, Go создает новый, больший базовый массив, копирует в него элементы старого массива и обновляет указатель слайса на новый массив. Это называется реаллокацией. Алгоритм роста емкости при аппенде экспоненциальный (удваивается до определенноЗарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.