swift语法 →闭包表达式

所谓闭包就是封闭的、自包含的代码块。 属于函数的匿名简化版,以下是一个闭包的形式:

{ (形参列表) ->返回值类型 in

    执行体(相当于函数体)

 }

闭包表达式与与定义函数的语法相比,有以下区别:

     1. 删除掉了 func

     2. 删除掉了函数名

     3. 在返回值的类型后添加关键字in

     4. { }移到了形参列表的前边  

关于闭包表达式说明说明

    1. 不能以一个闭包表达式开始一个顶层语句

    2. 形参列表中的形参不能有默认值


闭包表达式作为

   1.变量或者常量的值


  2.函数的实参


 3.函数的返回值


如果闭包表达式执行体只有一行return语句,那么可以省略return



swift可以推算出返回值类型和形参类型

 1.因此可以省略形参的类型和形参列表的:和()

 2. 省略 -> 和返回值的类型



在闭包表达式在省略形参和返回值的情况下,还可以省略形参名和关键字in,这样可以在执行体中通过$0 $1来引用第一个和第二个形参



swift对基本数据类型间的比较运算符定义了一种特定于string类型的实现,可以将基本数据类型间的比较运算符作为一种函数,其函数类型;(String,String)->Bool .   因此,可以将基本数据类型的比较运算符直接作为字符串数组的sorted方法参数



尾随闭包: 用于执行体比较长的函数, 在调用函数时,如果最后一个实参是闭包表达式, 可以将其写在()的外边和后边,这种写法称为尾随闭包, 使用尾随闭包,必须去掉形参标签


自动闭包 :如果闭包表达式在花括号里,swift会自动创建一个表达式, 该表达式没有任何参数,并且返回值就是该表达式。这样的表达式称为自动闭包。




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值