Хэши типа ваших имеют смысл только в
очень критичных по производительности на чтение местах. Если это так - ваш код вполне оптимален. Да, выглядит стремно, но скорость будет высокая, при условии, что вы выбираете по конкретным ключам, а
не перебором.
В противном случае - лучше таки на структурах (если хотите сэкономить чутка на памяти - указателях на структуры).
Пример, что привел
SilentFl - вполне ок.
Не забывайте, что слайсы / мапы - опасны потому, что передаются по ссылке и в случае конкурентного доступа - у вас будет каша из данных. Посему данные храним в приватных переменных и наружу торчата геттеры/сеттеры с sync.RWMutex