Sobes.tech
Назад к вопросам
Junior — Middle
77

Какое поведение ожидается при обращении по адресу к элементу в карте (map)?

Компании, где спрашивали
Digital Spirit

Ответ от нейросети

sobes.tech AI

В Go при обращении к элементу карты (map) по ключу, если ключ существует, возвращается соответствующее значение. Если ключ отсутствует, возвращается значение по умолчанию для типа значения (например, 0 для чисел, "" для строк, nil для указателей).

Чтобы отличить, существует ли ключ в карте, обычно используют второй возвращаемый параметр — булево значение, указывающее на наличие ключа:

value, ok := myMap[key]
if ok {
    // ключ существует, можно использовать value
} else {
    // ключ отсутствует
}

Таким образом, при обращении к карте по несуществующему ключу программа не падает, а возвращает "нулевое" значение типа и флаг отсутствия ключа.