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