当前位置: 首页 > 面试题库 >

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

逄边浩
2023-03-14
问题内容

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

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

从这里

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

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

有什么想法吗?


问题答案:

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

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

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

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

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

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



 类似资料:
  • 问题内容: 在JavaScript中,嵌套函数非常有用:闭包,私有方法以及您拥有的东西。 什么是嵌套PHP函数?有人使用它们吗? 这是我做的小调查 问题答案: 基本上没有,我一直将其视为解析器的副作用。 伊兰·加珀林(Eran Galperin)误认为这些功能是某种私有的,只是在运行之前才声明它们。它们也不是私有范围的,尽管确实延迟了,但它们确实污染了全球范围。作为回调,外部回调仍然只能被调用一次

  • 本文向大家介绍你有使用过render函数吗?有什么好处?相关面试题,主要包含被问及你有使用过render函数吗?有什么好处?时的应答技巧和注意事项,需要的朋友参考一下 template也会翻译成render,只有一点,template中元素的tag_name是静态的,不可变化,使用createEelment可以生成不同tag_name, 比如h1 ... h6, 可以通过一个number变量控制

  • 问题内容: 根据文档,a 可以是一个带有两个参数的函数,分别为和,并返回表示模板的字符串值。它将当前元素替换为HTML的内容。替换过程将所有属性和类从旧元素迁移到新元素。 该函数处理转换模板DOM。它包含三个参数,和和函数。该参数已被弃用。它返回一个函数。 似乎a 和a 函数非常相似,可以实现相同的目标。该函数定义的模板和功能修改模板DOM。但是,它可以在函数本身中完成。我看不到为什么要在函数外部

  • 问题内容: 我只是想知道什么是确定的利益/用途 用于在数据类型? 问题答案: 选择带有类型的列时,它将用零填充字段的显示值,直到字段定义中指定的显示宽度。大于显示宽度的值不会被截断。请注意,的使用还意味着。 使用和显示宽度不会影响数据的存储方式。它仅影响其显示方式。 以下是一些示例SQL演示了如何使用: 结果:

  • 问题内容: 我是Java开发人员,我想知道如何在Java程序中使用Scala? 问题答案: 去阅读 Daniel Spiewak 关于Scala 的优秀博客系列。使用Scala,您可以保持: 您所有的Java库 在JVM上运行的所有优势(普遍性,管理工具,性能分析,垃圾回收等) 但是您可以编写Scala代码: 比Java更简洁明了(尤其是使用更多的 功能 样式,例如在collections库中)

  • 问题内容: Python noob在这里。如何在“ fib”功能中掌握“内部”功能? 问题答案: 您不能,除非以某种方式返回,否则不能。 本质上是范围内的局部变量,您不能从外部访问函数的局部变量。(这甚至不会是有意义的,因为该功能正在运行时,除了不存在当地人想想看- 这将是有意义的访问的变量从功能之外吗?)