我只是在学习一些Swift,并且遇到了有关嵌套函数的部分:
函数可以嵌套。嵌套函数可以访问在外部函数中声明的变量。您可以使用嵌套函数将代码组织为长函数或复杂函数。
从这里
因此,如果声称的好处是“组织代码”,那么为什么不只在外部函数之外单独拥有嵌套函数?在我看来,这似乎更有条理。
我能看到的唯一好处是您“可以访问在外部函数中声明的变量”,但是与具有嵌套函数的混乱相比,这似乎微不足道。
有什么想法吗?
哦,我完全不同意。如果唯一需要第二个功能的地方是第一个功能,那么将其保留在第一个功能内的安排 会 更加有条理。
此处的真实示例:http : //www.apeth.com/swiftBook/ch02.html#_function_in_function
另外,功能中的功能在范围内具有本地环境。嵌套函数中的代码可以“查看”在嵌套函数声明之前声明的局部变量。这比传递一堆参数要方便和自然得多。
但是,本地函数使您能够做的 关键 事情是您无法以其他任何方式轻松完成的事情是,您可以实时形成函数(因为函数是一个闭包),然后从外部函数返回它。
http://www.apeth.com/swiftBook/ch02.html#_function_returning_function