Назад к вопросам
Junior — Middle
79
Обладают ли отображения в 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