Какой результат печатает программа? (пример 65)

Будут выведены пары a 1, b 2 и c 3, каждая на отдельной строке, но их порядок не определён. map не хранит контракт порядка вставки или сортировки.

Короткий ответ

Что ответить на собеседовании

Будут выведены пары a 1, b 2 и c 3, каждая на отдельной строке, но их порядок не определён. map не хранит контракт порядка вставки или сортировки.

Подробный разбор

Ответ с пояснениями

Условие

Определите, какой вывод появится в консоли после выполнения следующей Go‑программы:

import ("fmt")

func main(){
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    for k, v := range m {
        fmt.Println(k, v)
    }
}

Ответ

Будут выведены пары a 1, b 2 и c 3, каждая на отдельной строке, но их порядок не определён. map не хранит контракт порядка вставки или сортировки.

Один конкретный запуск может случайно показать алфавитный порядок, однако полагаться на это нельзя даже при повторном обходе. Для стабильного результата соберите ключи в []string, отсортируйте и затем печатайте m[key]. Значения данного примера не изменяются во время обхода, поэтому неопределён именно порядок, а не состав пар.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее