Back to questions
Wildberries
Middle+
4
Расскажи, как устроена map в Go?
Companies where asked
Answer from AI
sobes.tech AI
В Go map — это встроенный тип данных для хранения пар ключ-значение с быстрым доступом.
Устройство:
mapреализован как хеш-таблица.- Ключи хешируются, чтобы определить индекс в массиве бакетов.
- Каждый бакет содержит несколько пар ключ-значение для разрешения коллизий.
- При росте количества элементов происходит ре-хеширование и увеличение размера таблицы.
Особенности:
- Ключи должны быть сравнимыми (например, строки, числа).
- Доступ к элементам — амортизированное O(1).
- Итерация по
mapне гарантирует порядок.
Пример:
m := make(map[string]int)
m["apple"] = 5
value := m["apple"]