Назад к вопросам
Senior
1
Можно ли сделать константную память, не убирая map?
Компании, где спрашивали
Яндекс
Ответ от нейросети
sobes.tech AI
В Go нельзя сделать map полностью константным, так как встроенный тип map является изменяемым и не поддерживает константы напрямую. Однако, можно добиться эффекта "константной" памяти с map, если:
- Инициализировать map один раз и не изменять его в дальнейшем (не добавлять и не удалять элементы).
- Сделать map приватным и предоставить только методы для чтения, без методов для изменения.
Пример:
var constMap = map[string]int{
"one": 1,
"two": 2,
}
func GetValue(key string) (int, bool) {
val, ok := constMap[key]
return val, ok
}
Таким образом, хотя map и не является константой, вы ограничиваете доступ к нему только для чтения, что по сути делает его "константной" памятью без удаления map.