Middle
14
Как работают map в Go?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Go map — это встроенный тип данных, реализующий ассоциативный массив или словарь, где ключи сопоставляются со значениями. Ключи и значения могут быть любого типа, поддерживающего сравнение (например, строки, числа, указатели).
Основные особенности:
- Инициализация через
make:m := make(map[string]int) - Добавление/обновление:
m["key"] = 42 - Чтение:
val := m["key"] - Проверка наличия ключа:
val, ok := m["key"] - Удаление:
delete(m, "key")
Пример:
package main
import "fmt"
func main() {
m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3
if val, ok := m["apple"]; ok {
fmt.Println("Apple count:", val)
}
delete(m, "banana")
fmt.Println("Map after deletion:", m)
}
map в Go реализованы с хеш-таблицей, обеспечивая быстрый доступ по ключу. Они не упорядочены, порядок обхода при итерации произвольный.