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

В Go слайс — это структура, которая содержит указатель на массив, длину (len) и ёмкость (capacity).

Короткий ответ

Что ответить на собеседовании

В Go слайс — это структура, которая содержит указатель на массив, длину (len) и ёмкость (capacity).

Подробный разбор

Ответ с пояснениями

В Go слайс — это структура, которая содержит указатель на массив, длину (len) и ёмкость (capacity).

Если при создании слайса capacity явно не указана, она устанавливается равной длине слайса. Capacity показывает, сколько элементов слайс может вместить без выделения новой памяти.

Например:

s := make([]int, 3) // len=3, cap=3

Здесь capacity равна 3, так как не указана отдельно.

Если capacity больше длины, то слайс можно расширять до capacity без аллокации нового массива.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку