Swift:闭包、完成处理程序和函数之间的区别?

4

有人能告诉我闭包相比函数的优势是什么吗? 什么时候应该使用闭包和函数,并举例说明?

1个回答

2

首先,闭包是函数,函数是闭包,只是一个有名字,另一个没有。 也就是说,当您有一个函数时,可以在任何可见的地方随时调用它:myfunc(),就这样。 闭包也是一样的,只是它们没有名字,所以要被调用,它们必须存储在变量中(您声明的变量或作为方法的参数)。

请注意,接受闭包作为参数的函数也接受函数名称...

因此,您应该看到像这样的东西:我的代码中多次使用的代码:=>转到功能...我将给另一个人的API方法执行一次块=>闭包。


函数确实是闭包的一种特殊情况,但闭包本身并不是函数(函数描述了闭包所覆盖的结构集合中的一个更小的子集)。 - dfrib
我同意,我可能在这里走了一条粗略的捷径 :) - Florian Burel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接