Почему map паникует?

Middle
313 просмотров
AFK Offer AI

Конкурентная запись в map вызывает fatal error: concurrent map writes. Не race condition с неправильным результатом, а именно panic — рантайм детектит и крашит программу. Также: чтение nil map ок (возвращает zero value), но запись в nil map — panic: assignment to entry in nil map. Фикс конкурентности: sync.Mutex или sync.RWMutex (если много чтений). Или sync.Map для specific use cases (write-once-read-many). Фикс nil map: m = make(map[K]V) перед использованием.

Следующий вопрос

Как создать custom error с контекстом?