// make
m := make(map[string]int)
// Литерал
m := map[string]int{
"a": 1,
"b": 2,
}
// Нулевая — nil-map
var m map[string]int
Важно: nil-map можно читать (вернёт zero value), но запись в nil-map — panic. Всегда инициализируй через make или литерал.
Проверка наличия ключа: v, ok := m["key"]. Удаление: delete(m, "key") — безопасно даже если ключа нет. Ключом может быть любой comparable тип (не слайс, не map, не функция).