Ответ
Хеш-индекс — это структура данных, которая использует хеш-функцию для быстрого доступа к значениям по ключу. В Golang он часто реализуется через встроенный тип map.
Особенности:
- O(1) в среднем для операций вставки, поиска и удаления.
- Не гарантирует порядок элементов.
- Подходит для точных совпадений ключей, но не для диапазонных запросов.
Пример:
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 7
value, exists := m["apple"] // 5, true
delete(m, "banana")
Ограничения:
- При коллизиях (одинаковые хеши для разных ключей) производительность может деградировать до O(n).
- Не потокобезопасен — для конкурентного доступа нужны мьютексы или
sync.Map.