嵌套函数的好处是什么(一般来说/在Swift中)

Jon*_*ona 5 conventions function code-organization nested-function swift

我刚刚学习了一些Swift,我遇到了关于嵌套函数的部分:

函数可以嵌套.嵌套函数可以访问外部函数中声明的变量.您可以使用嵌套函数来组织长或复杂函数中的代码.

这里开始

因此,如果声称的好处是"组织代码",为什么不在外部函数之外独立地拥有嵌套函数?对我来说,这看起来更有条理.

我能辨别的唯一好处是你"可以访问在外部函数中声明的变量",但与嵌套函数的混乱相比,这似乎微不足道.

有什么想法吗?

mat*_*att 10

因此,如果声称的好处是"组织代码",为什么不在外部函数之外独立地拥有嵌套函数?对我来说,这看起来更有条理.

哦,我完全不同意.如果在需要第二个函数的唯一的地方是第一个函数里面,保持它的第一个函数里面是很多更有条理.

现实生活中的例子:http://www.apeth.com/swiftBook/ch02.html#_function_in_function

另外,函数中的函数具有范围内的本地环境.嵌套函数内的代码可以"看到"嵌套函数声明之前声明的局部变量.这比传递一堆参数更方便和自然.

但是,关键是当地的功能可以让你做,你不能以任何其他方式容易做的事情是,你可以形成实时功能(因为函数是一个闭包),并从外部函数返回.

http://www.apeth.com/swiftBook/ch02.html#_function_returning_function