我刚刚学习了一些Swift,而且我遇到了关于嵌套函数的部分:
可以嵌套函数。嵌套函数可以访问外部函数中声明的变量。您可以使用嵌套函数在长或复杂的函数中组织代码。
来自here
因此,如果声称的好处是组织代码",为什么不在外部函数之外独立地拥有嵌套函数?对我而言,这似乎更有条理。
我能辨别的唯一好处是你可以访问在外部函数中声明的变量",但与嵌套函数的混乱相比,这似乎微不足道。
有什么想法吗?
答案 0 :(得分:10)
因此,如果声称的好处是组织代码",为什么不在外部函数之外独立地拥有嵌套函数?对我而言,这似乎更有条理。
哦,我完全不同意。如果需要第二个函数的唯一地方是在第一个函数内部,那么将它保持在第一个函数中是很多更有条理。
此处的现实示例:http://www.apeth.com/swiftBook/ch02.html#_function_in_function
另外,函数中的函数具有范围内的本地环境。嵌套函数中的代码可以"参见"在嵌套函数声明之前声明的局部变量。这比传递一堆参数更方便和自然。
然而,本地函数允许你以任何其他方式做的键事情是你可以实时形成函数(因为函数是一个闭包)并从外部函数返回。
http://www.apeth.com/swiftBook/ch02.html#_function_returning_function
答案 1 :(得分:1)
一个非常好的事情是Xcode会在函数弹出窗口中缩进其父函数中的嵌套函数。使用与重新计算缩进布局相关的函数导航函数弹出窗口更加容易,并且所有函数都集中在一个位置。