Назад к вопросам
Junior — Middle
77
Какое поведение ожидается при обращении по адресу к элементу в карте (map)?
Компании, где спрашивали
Digital Spirit
Ответ от нейросети
sobes.tech AI
В Go при обращении к элементу карты (map) по ключу, если ключ существует, возвращается соответствующее значение. Если ключ отсутствует, возвращается значение по умолчанию для типа значения (например, 0 для чисел, "" для строк, nil для указателей).
Чтобы отличить, существует ли ключ в карте, обычно используют второй возвращаемый параметр — булево значение, указывающее на наличие ключа:
value, ok := myMap[key]
if ok {
// ключ существует, можно использовать value
} else {
// ключ отсутствует
}
Таким образом, при обращении к карте по несуществующему ключу программа не падает, а возвращает "нулевое" значение типа и флаг отсутствия ключа.