В каких случаях используовал Map

«В каких случаях используовал Map» — вопрос из категории Golang, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Go map удобен для хранения пар ключ-значение с быстрым доступом. Например, подсчёт частоты слов в тексте:

text := "hello world hello"
words := strings.Fields(text)
freq := make(map[string]int)

for _, word := range words {
    freq[word]++ // Увеличиваем счётчик для каждого слова
}

fmt.Println(freq) // map[hello:2 world:1]

Основные случаи использования:

  • Кэширование данных
  • Группировка элементов (например, по категориям)
  • Быстрый поиск (O(1) в среднем случае)
  • Замена switch-case для динамических условий

Важно: maps в Go неупорядочены и небезопасны для конкурентного доступа (нужен sync.Mutex или sync.Map).