var m map[int]int похожи как с точки зрения абстрактных типов данных (как массив и ассоциативный массив соответственно), так и с точки зрения реализация в го (как референсные типы). При этом слайс можно использовать сразу: к нему можно добавлять элементы, его можно реслайсить и т.д. Тогда как мапу использовать невозможно. Почему нельзя добавить синтаксического сахара, и при декларации мапы не только аллоцировать память, но и сразу ее инициализировать? Я добросовестно гуглил, узнал новое слово avtovivification, но так и не понял, почему этого нельзя сделать.
что значит почему нельзя ее инициализировать? Так можно сразу сделать: a := map[string]int{ "foo": 1, "bar": 2, }
Обсуждают сегодня