Edit: Si ce que je demandais n'était pas clair: quels sont les problèmes qui sont atténués en n'autorisant pas les déclarations de fonctions imbriquées?
Les lambdas fonctionnent comme prévu:
func main() {
inc := func(x int) int { return x+1; }
}
Cependant, la déclaration suivante dans une déclaration n'est pas autorisée:
func main() {
func inc(x int) int { return x+1; }
}
Pour quelle raison les fonctions imbriquées ne sont-elles pas autorisées?
func main() { func (x int) int { return x+1; }(3) }