Swift 闭包2024 年 8 月 29 日 | 阅读 2 分钟 Swift 闭包是 Swift 函数的另一种类型,可以在不使用关键字 func 和函数名称的情况下定义。 与 Swift 函数一样,Swift 闭包也可以接受参数并返回值。它还包含一组语句,这些语句在您调用它之后执行,并且可以像函数一样分配给变量/常量。 使用 Swift 闭包的原因Swift 闭包主要用于两个原因 完成块闭包用于在某些任务完成执行时提供通知。 高阶函数闭包可以作为输入参数传递给高阶函数。高阶函数只是一种接受函数作为输入并返回函数类型作为输出的函数。在这种情况下,使用闭包是因为闭包省略了 func 关键字和函数名称,这使得代码更具可读性和简洁性。 语法在这里,in 是一个关键字,用于分隔闭包中的返回类型和语句。闭包可以接受参数并返回值。 让我们创建我们自己的闭包 示例简单闭包 在这里,我们声明了一个简单的闭包 { },它不接受任何参数,不包含任何语句,也不返回值。此闭包分配给常量 simpleClosure。 包含语句的闭包示例输出 Hello JavaTpoint 在上面的程序中,我们定义了一个名为 simpleClosure 的闭包,它被推断为 () -> (),因为它不接受任何参数,也不返回值。 包含参数的闭包示例输出 Hello JavaTpoint 在上面的程序中,类型闭包 (String) -> () 接受类型为 string 的输入,但不返回值。要使用在闭包语句中传递的值,我们放置了一个参数名称 name,后跟关键字 in。 在这里,闭包接受一个 String,我们需要在调用闭包时传递该字符串,例如 simpleClosure("Hello JavaTpoint")。 返回值的闭包闭包可以像函数一样返回值。要从闭包返回值,我们必须在括号 () 内显式添加要返回的类型,后跟 ->。 示例输出 Hello JavaTpoint A platform for all technologies 您可以看到,在上面的程序中,我们将类型定义为 simpleClosure: (String) -> (String),因为 Swift 无法自动推断返回值的闭包。类型 (String) -> (String) 指定闭包接受类型为 String 的输入,并且还返回类型为 String 的值。 下一主题Swift Typealias |
我们请求您订阅我们的新闻通讯以获取最新更新。