Когда closures лучше не использовать или использовать осторожно?
Что хотят услышать интервьюеры:
Суть: closure захватывает переменные из внешней области видимости.
Ответ:
Пример:
func counter() func() int {
n:=0;
return func(){
n++;
return n
}
} Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.
Типичная ошибка: захватывать переменную цикла и получать неожиданные значения в goroutine.
Как отвечать на собеседовании: Хороший ответ показывает, что Go строится вокруг явных ошибок, простых функций и предсказуемого control flow.