Инициализировать словарь в пакете вне функции(syntax error: non-declaration statement outside function body)
Я хочу инициализировать глоабльный словарь в пакете(примерно как статик переменную в с++, которая до исполнения программы создастся и положется в отдельную область памяти ), но насколько я понимаю, из пакета могут выполняться только функции, которые мы вызвали, что-то другое в пакетет писать запрещено(?) я пробовал вот как:
var commits map[string]int
commits = map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}
Но видимо , в силу того, что надо выполнить эту операцию присваивания, вне функции так писать нельзя, ошибка
syntax error: non-declaration statement outside function body
как решить данную проблему?
UPD:
Придумал так:
func ConstCommitDictFunc() map[string]int{
return map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}
}
Ответы (1 шт):
Автор решения: Bearded Beaver
→ Ссылка
Зачем вам присваивание отдельно?
var commits = map[string]int{
"rsc": 3711,
"r": 2138,
"gri": 1908,
"adg": 912,
}