《从零开始学Swift》学习笔记(Day 23)——尾随闭包
快乐大本营100731,上海十一天气,running man 100
闭包表达式可以作为函数的参数传递,如果闭包表达式很长,就会影响程序的可读性。尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用。
下面我们来看一个示例代码:
func calculate(opr:string, funn:(int,int)-> int) {
//最后一个参数funn是(int,int)-> int函数类型,funn可以接收闭包表达式
switch (opr) {
case "+" :
print("10 + 5 =\(funn(10,5))")
default:
print("10 - 5 =\(funn(10,5))")
}
}
calculate("+",funn: {(a:int, b:int) -> int in return a + b }) //调用
calculate("+"){(a:int, b:int)-> int in return a + b }//调用,这种形式就是尾随闭包
calculate("+") {$0 + $1 } //调用,这种形式就是尾随闭包
func calculate(opr:string, funn:(int,int)-> int) {
//最后一个参数funn是(int,int)-> int函数类型,funn可以接收闭包表达式
switch (opr) {
case "+" :
print("10 + 5 =\(funn(10,5))")
default:
print("10 - 5 =\(funn(10,5))")
}
}
calculate("+",funn: {(a:int, b:int) -> int in return a + b }) //调用
calculate("+"){(a:int, b:int)-> int in return a + b }//调用,这种形式就是尾随闭包
calculate("+") {$0 + $1 } //调用,这种形式就是尾随闭包
需要注意的是,闭包必须是参数列表的最后一个参数,如果calculate函数采用如下形式定义:
func calculate(funn:(int,int)->int,opr:string) {
...
}
由于闭包表达式不是最后一个参数,那么调用calculate函数就不能使用尾随闭包写法的。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
-
-
-
-
iOS实现转盘效果
本文实例为大家分享了ios实现转盘效果的具体代码,供大家参考,具体内容如下demo下载地址: ios转盘效果功能:实现了常用的ios转盘效果,轮盘抽奖效果的实现...
[阅读全文]
-
iOS开发实现转盘功能
本文实例为大家分享了ios实现转盘功能的具体代码,供大家参考,具体内容如下今天给同学们讲解一下一个转盘选号的功能,直接上代码直接看viewcontroller#...
[阅读全文]
-
iOS实现轮盘动态效果
本文实例为大家分享了ios实现轮盘动态效果的具体代码,供大家参考,具体内容如下一个常用的绘图,主要用来打分之类的动画,效果如下。主要是ios的绘图和动画,本来想...
[阅读全文]
-
iOS实现九宫格连线手势解锁
本文实例为大家分享了ios实现九宫格连线手势解锁的具体代码,供大家参考,具体内容如下demo下载地址:效果图:核心代码://// clockview.m// 手...
[阅读全文]
-
iOS实现卡片堆叠效果
本文实例为大家分享了ios实现卡片堆叠效果的具体代码,供大家参考,具体内容如下如图,这就是最终效果。去年安卓5.0发布的时候,当我看到安卓全新的material...
[阅读全文]
-
网友评论