🟡 Средний · 2 очк. Разное / продвинутое
Что выведет: defer fmt.Println("a"); defer fmt.Println("b")?
A a b
B b a
C a
D b
Объяснение вопроса

При выходе из функции defer выполняется в порядке LIFO (стек): сначала последний зарегистрированный - "b", затем "a". Итог на двух строках: сначала b, затем a.

Порядок регистрации и выполнения

Первый defer кладёт вывод "a" в стек, второй - "b". При выходе из функции стек разбирается сверху: сначала выполняется "b", потом "a". Так же освобождаются ресурсы в порядке, обратном получению.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.