博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
《从零开始学Swift》学习笔记(Day 23)——尾随闭包
阅读量:5846 次
发布时间:2019-06-18

本文共 759 字,大约阅读时间需要 2 分钟。

原创文章,欢迎转载。转载请注明:关东升的博客

 

闭包表达式可以作为函数的参数传递,如果闭包表达式很长,就会影响程序的可读性。尾随闭包是一个书写在函数括号之后的闭包表达式,函数支持将其作为最后一个参数调用。

下面我们来看一个示例代码:

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函数就不能使用尾随闭包写法的。

 

欢迎关注关东升新浪微博@tony_关东升。

关注智捷课堂微信公共平台,了解最新技术文章、图书、教程信息
                             
更多精品iOSCocos、移动设计课程请关注智捷课堂官方网站:
智捷课堂论坛网站:

 

你可能感兴趣的文章
Java构建CRM客户管理系统
查看>>
socket 简单的模板
查看>>
多台linux日志记录统一推送到一台linux服务器上面
查看>>
技术只是工具 做SEO要懂得和部门进行协调
查看>>
在window下与linux虚拟机建立共享文件夹
查看>>
我的友情链接
查看>>
以前一直去琢磨多种反射方式,一直找不到较好的资料
查看>>
java zip打包与乱码的解决
查看>>
PowerDNS不完全配置
查看>>
基本控件Button控件
查看>>
ERROR 1130 (HY000):is not allowed to connect
查看>>
压力测试神器stresstester源码分析
查看>>
Android中的动画
查看>>
Maven学习总结(三)——使用Maven构建项目
查看>>
NoSQL Manager for Cassandra 3.2.0.1 带Key
查看>>
【BZOJ 3504】[Cqoi2014]危桥
查看>>
MyBatis学习总结(1)——MyBatis快速入门
查看>>
我的友情链接
查看>>
redis下的cluster的配置安装
查看>>
嵌入式Linux裸机开发(三)——BL0初始化
查看>>