&gt;&gt; As always, if one goroutine is writing to a map, no other goroutine should be reading or writing the map concurrently.<p>&gt; What if you are writing to a value in the map? Surely that is safe to do concurrently with other processes reading at least.<p>Nope. You need to protect your state by communicating with channels or using a lock.