Sobes.tech
Middle
14

Как работают map в Go?

Компании, где спрашивали
VKVK

Ответ от нейросети

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 реализованы с хеш-таблицей, обеспечивая быстрый доступ по ключу. Они не упорядочены, порядок обхода при итерации произвольный.