Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗goPmSlCp 147 of 350 menu
◀ ▶

Емкость среза в Go

Емкость показывает, сколько элементов помещается без нового куска памяти. Ее дает встроенная команда cap. Длина может быть меньше емкости: часть места ждет будущих добавлений в конец.

nums := []int{10, 20, 30} fmt.Println(len(nums), cap(nums)) hold := make([]int, 0, 4) fmt.Println(len(hold), cap(hold))

У литерала из трех чисел длина и емкость совпадают. У среза, созданного с нулевой длиной и запасом, емкость больше длины:

Первые числа: 3 и 3. У hold будет 0 и 4. Емкость не равна числу видимых элементов, пока резерв не заполнен.

Дан следующий срез:

nums := []int{10, 20, 30}

Выведите длину и емкость в одной строке.

Создайте через make срез с нулевой длиной и емкостью четыре в slot и выведите емкость.

Скажите, может ли емкость быть больше длины у непустого среза.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить