Почему нельзя получать ссылку на значение, хранящееся по ключу в мапе?
В Go нельзя получать ссылку на значение в map, потому что при изменении мапы может происходить реаллокация памяти, что сделает указатели на элементы невалидными. Кроме того, доступ к значениям map[key] всегда возвращает их копию, а не ссылку на оригинальный объект.
Go реализует map как хеш-таблицу, в которой данные хранятся в бакетах. Когда мапа изменяется (например, при добавлении новых элементов), возможна реаллокация памяти, из-за чего значения могут переместиться. Если бы Go позволял получать ссылку на элемент, то после изменения мапы этот указатель мог бы стать невалидным. Кроме того, выражение map[key] всегда возвращает копию значения, а не оригинальный объект.
Если нужно работать с указателями, то вместо значений в map можно хранить указатели:
В этом случае мапа хранит не само число, а указатель на него, что позволяет изменять значение без проблем с реаллокацией памяти.
Отметьте свой прогресс