Swift 4中的闭包简介

苹果,什么是瓶盖?

闭包是可以独立传递的功能块,可以在代码中传递和使用。

– 苹果

别担心,如果那没有道理。 起初,这听起来像:

闭包是一堆自成体系的单词,就像该死的篮球一样。 如果您不知道,操场上可能有一个篮球场。 去看看吧。

– 苹果

目的

在什么,如何以及在什么地方介绍闭包。

什么是封闭

闭包采用以下三种形式之一:

  1. 全局功能
  2. 嵌套函数
  3. 闭包表达

前两个是闭包的特殊情况。 如果您不知道函数如何工作,请在此处为您提供一篇文章:

Swift 3中的主函数

当我们谈论Swift中的闭包时,我们经常提到闭包表达式。 如果有一件事可以帮助您记住什么是闭包,就是这样:

闭包是无头功能

闭包是没有func关键字和函数名称的函数。 它们也称为匿名函数。 它们本身不能像函数一样调用,因为它们没有名称。 它们结合使用。

封闭语法

由于其语法简单,因此鼓励使用闭包。

功能与关闭

以下是函数和闭包之间要记住的主要区别:

功能

  • 有个名字
  • 具有func关键字
  • 没有关键字

关闭

  • 没有名字
  • 没有func关键字
  • 有关键字

限定

让我们看看如何定义函数与闭包。

  func GiveAFunc(){} 
  var GiveNoFunc = {()->()in} 

注意:我们的闭包以{开头,以}结尾。 我们将闭包存储在变量内,因此可以调用它。

呼叫

让我们调用一个函数,然后调用一个闭包。

  GiveAFunc() 
  GiveNoFunc() 

我们称呼它的方式是相同的。 现在,我们已经看到了闭包与函数的比较。 让我们看看如何从函数转换为闭包。

关闭功能

让我们将sayHello转换为闭包。

  //很快成为一个封闭 
func sayHello(name:String)-> String {
返回“你好\(名称)”
}

关闭的步骤

  1. 除去花括号
  func sayHello(名称:字符串)->字符串 
返回“你好\(名称)”

2.在参数列表和函数体之间添加关键字

  func sayHello(name:String)->字符串输入 
返回“你好\(名称)”

3.删除func关键字和函数名称

  (名称:字符串)->字符串输入 
返回“你好\(名称)”

4.用大括号括起来

  {(name:String)->字符串输入 
返回“你好\(名称)”
}

而已。 做完了

然后,您可以将闭包分配给变量,然后像调用函数一样调用它。

  var sayHello = {(name:String)-> String in 
返回“你好\(名称)”
}
  sayHello(“杰文”) 

关闭时间

人们在谈论闭包时经常忽略的一个话题是我们实际上在哪里找到闭包? 好吧,这就是答案。 到处。 闭包深深植根于Swift语言中。 最常见的用例包括完成块/回调,高阶函数和语法糖。

包起来

我们介绍了闭包。 它们是什么。 他们长什么样。 它们是如何形成的。 以及它们在哪里。 恭喜!

介绍,介绍。

最后的评论

希望您喜欢并从我的文章中学到了宝贵的经验。 如果有的话,请点击那个❤按钮让我知道,然后在Medium上关注我。 另外,分享这篇文章,以便您的圈子也可以获取一些知识。

对于那些感兴趣的人,这里是我的LinkedIn。

最后,如果您有任何评论,问题或建议,请随时将其放在下面。 告诉我您接下来想学什么!