Sobes.tech
Назад к вопросам
Junior — Middle
78

Обладают ли отображения в Go такие же методы длины и емкости, как у срезов?

Ответ от нейросети

sobes.tech AI

В Go отображения (maps) не имеют методов длины и емкости, как срезы (slices). Вместо методов для получения длины используется встроенная функция len(), которая возвращает количество элементов в отображении.

Для срезов можно использовать len() для текущей длины и cap() для ёмкости (максимального размера без выделения новой памяти). У отображений cap() нет, так как они динамически растут по мере добавления элементов.

Пример:

m := make(map[string]int)
m["a"] = 1
fmt.Println(len(m)) // выводит 1

s := make([]int, 0, 10)
fmt.Println(len(s)) // 0
fmt.Println(cap(s)) // 10