What exactly do you mean by "read/write 5 different keys"?
If you have a map[int]*SomeStruct, for instance, and if you initialize this map with some entries, and then if you have multiple goroutines all performing lookups of distinct keys and modifying the contents of *SomeStruct, it would be safe.
If you have multiple goroutines adding/removing keys from the map, that would not be safe.
It would be interesting to know if rewriting existing distinct keys from multiple goroutines would be safe or not.