Map в Go — это неупорядоченная коллекция пар ключ-значение, которая обеспечивает эффективный поиск, вставку и удаление элементов на основе уникальных ключей.
== (строки, числа, булевы значения, массивы и т.д.)Map можно объявить и инициализировать несколькими способами:
// Объявление пустого map
var m map[string]int
// Объявление map с функцией make
m := make(map[string]int)
// Инициализация map с литералами
m := map[string]int{"a": 1, "b": 2}
value := m["key"] — возвращает значение или нулевое значение, если ключа нетm["key"] = valuedelete(m, "key")value, ok := m["key"] — возвращает значение и булев флаг, указывающий, есть ли ключВ отличие от слайсов, map не имеет определённого порядка. Порядок итерации намеренно рандомизирован из соображений безопасности, поэтому полагаться на какой-либо фиксированный порядок при переборе map нельзя.
Map идеально подходит для сценариев, требующих быстрого поиска: кэширование, подсчёт вхождений, реализация lookup-таблиц — везде, где нужно получить данные по уникальному идентификатору.
Maps в Go — это value-типы, которые напрямую содержат пары ключ-значение, аналогично тому, как structs хранят свои поля прямо в памяти.
Новый — ещё не проверен сообществом
Вы