🟡 Средний · 2 очк. Разное / продвинутое
Что такое замыкание (closure)?
A Закрытый пакет
B Функция, захватывающая переменные из внешней области
C Закрытый канал
D Мьютекс
Объяснение вопроса

Замыкание - функция, которая ссылается на переменные из внешней области видимости. Переменные захватываются по ссылке. Частая ловушка - замыкание в цикле до Go 1.22 захватывало одну переменную цикла; с 1.22 у каждой итерации своя переменная.

func makeAdder(n int) func(int) int {
    return func(x int) int { return n + x }
}
add2 := makeAdder(2)
add2(3)  // 5
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.