Изменить: если было непонятно, что я спрашивал: какие проблемы устраняются, если не разрешать вложенные объявления функций?
Lambdas работает так, как ожидалось:
func main() {
inc := func(x int) int { return x+1; }
}
Однако, следующее объявление внутри объявления не допускается:
func main() {
func inc(x int) int { return x+1; }
}
По какой причине вложенные функции не разрешены?