揭秘@escaping, @non-escaping, @autoclosure 和 curry函数
闭包是可以独立传递的函数块,可以在代码中传递和使用。-Apple
闭包可以从定义它们的上下文中捕获和存储对任何常量和变量的引用,因此称为闭包。 您可以将闭包视为一个没有自己名称的函数,并从其环境中捕获任何值。 函数和闭包是Swift中的一流对象:您可以存储它们,将它们作为函数的参数传递,并像对待其他任何值或对象一样对待它们。 将闭包作为完成处理程序传递是许多API中的常见模式。 标准Swift库主要将闭包用于事件处理和回调。
什么是函数?
函数是执行特定任务的独立代码块。 您为函数指定一个名称,该名称可以标识其功能,该名称用于“调用”该函数以在需要时执行其任务。 您可以使用func关键字定义一个函数。 函数可以不带太多参数,可变参数而返回任何一个或多个参数。