так а в чем вопрос-то?
perl создает отсутствующие элементы на лету, go - не создает. as simple as that.
я вот позавчера решал аналогичную проблему, и мне удалось обойтись map
одного уровня. возможно, удастся и вам.
типа
Map := make(map[struct {int, int,int}]string) (это псевдокод, а не go)
> --
> Вы получили это сообщение, поскольку подписаны на группу "Golang Russian".
> Чтобы отменить подписку на эту группу и больше не получать от нее сообщения,
> отправьте письмо на электронный адрес
>
golang-ru+...@googlegroups.com.
> Чтобы настроить другие параметры, перейдите по ссылке
>
https://groups.google.com/d/optout.