oOLokiOo
@oOLokiOo
PHP Developer

Как в GO обыграть момент с созданием глобальной константы []string / map[string]string?

Доброго времени суток.
Только взялся за GO , так что хотелось бы узнать, как правильно обыграть этот момент в GO way style т.с.
Спецификация Golang гласит, что константы могут быть только - "numbers, strings or Booleans".
Подскажите тогда, как правильно сделать такой вариант:

package main
...
const (
...
	SOME_PARAMS = []string {"param1", "param2"}
	// либо
	SOME_PARAMS  = map[string]string {
		"key1": "val1",
		"key2": "val2",
	}
)
...
func main() {
}


Создавать какую-нибудь функу init() и в ней присваивать? Но тогда это уже не константа будет...
Заранее спасибо!
  • Вопрос задан
  • 887 просмотров
Решения вопроса 1
bitver
@bitver
Slice и map по определению динамические, т.е. работают с кучей, если их не оптимизирует компилятор. Константами они быть не могут, примерно такая идеология у создателей.
А создавать вы можете и без init() просто в своём коде вместо const используйте var
P.S. Чтобы вместо slice использовать обычный массив (скорость наше всё), то пишите [...]string {"param1", "param2"}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы