Back to questions
Senior
6
Что такое map в Go, как работает, какие особенности?
Companies where asked
Betera Group
Answer from AI
sobes.tech AI
В Go map — это встроенный тип данных, реализующий ассоциативный массив или словарь, где ключи сопоставляются со значениями.
Особенности map в Go:
- Ключи могут быть любого типа, который поддерживает сравнение (например, строки, числа, указатели).
- Значения могут быть любого типа.
- Инициализировать можно с помощью
makeили литерала:
m := make(map[string]int)
m2 := map[string]int{"a": 1, "b": 2}
- Доступ к элементам через
m[key], если ключ отсутствует — возвращается нулевое значение типа. - Проверка наличия ключа:
val, ok := m["key"]
if ok {
// ключ существует
}
mapне гарантирует порядок обхода элементов.mapне является потокобезопасным, при параллельном доступе нужна синхронизация.
Пример:
m := make(map[string]int)
m["apple"] = 5
fmt.Println(m["apple"]) // 5
val, ok := m["banana"]
if !ok {
fmt.Println("banana not found")
}