一尘不染

嵌套函数有什么好处(一般/在Swift中)

swift

我只是在学习一些Swift,并且遇到了有关嵌套函数的部分:

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

这里

因此,如果声称的好处是“组织代码”,那么为什么不只在外部函数之外单独拥有嵌套函数?在我看来,这似乎更有条理。

我能看到的唯一好处是您“可以访问在外部函数中声明的变量”,但是与具有嵌套函数的混乱相比,这似乎微不足道。

有什么想法吗?


阅读 310

收藏
2020-07-07

共1个答案

一尘不染

因此,如果声称的好处是“组织代码”,那么为什么不只在外部函数之外单独拥有嵌套函数?在我看来,这似乎更有条理。

哦,我完全不同意。如果唯一需要第二个功能的地方是第一个功能,那么将其保留在第一个功能内的安排 更加有条理。

此处的真实示例:http
:
//www.apeth.com/swiftBook/ch02.html#_function_in_function

另外,功能中的功能在范围内具有本地环境。嵌套函数中的代码可以“查看”在嵌套函数声明之前声明的局部变量。这比传递一堆参数要方便和自然得多。

但是,本地函数使您能够做的 关键 事情是您无法以其他任何方式轻松完成的事情是,您可以实时形成函数(因为函数是一个闭包),然后从外部函数返回它。

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

2020-07-07