Sobes.tech
Junior — Middle

Quel comportement est attendu lors de l'accès à un élément dans une carte (map) ?

sobes.tech IA

Réponse de l'IA

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

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

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

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