Есть вот такой тип:
map[int]map[int]map[int]int
Для хранения такой структуры данных:
-- [ id ]
------ [ group_id ]
---------- [ item_id ]
-------------- [ quantity ]
---------- [ item_id ]
-------------- [ quantity ]
---------- [ item_id ]
-------------- [ quantity ]
------ [ group_id ]
---------- [ item_id ]
-------------- [ quantity ]
--[ id ]
------ [ group_id ]
---------- [ item_id ]
-------------- [ quantity ]
Как правильно добавлять group_id в такие карты?
Сейчас я делаю что-то вроде этого:
if _, ok := my_map[group_id]; !ok {
my_map[group_id] = make(map[int]int)
}
my_map[group_id][item_id] = quantity
а потом уже
my_map добавляется в глобальную карту, такой код мне кажется слишком страшным, может есть лучшие практики для работы с такими данными?
Возможно ли это реализовать только срезами?