在计算机命题中,闭包是个相对复杂的命题,它的概念很抽象,所以这章是查找了许多资料,争取能浅显易懂的,让大家能够理解闭包这个概念
《1》闭包概念:
闭包是自包含的匿名函数代码块,可以作为,函数参数,函数表达式,函数返回值。
《2》闭包的基本表现形式
大家如果读过上一章,函数之旅,相信函数有个嵌套函数的概念,这里,我们就以嵌套函数为例子
解开闭包的迷惑。
如下为一个嵌套函数的实例:看到输出结果分别为20和5,功能为分别进行乘和除
如对上面的嵌套换成闭包的形式展示,则为如下代码
对比下两个代码,可以理解为,嵌套函数是可以用闭包的方式展示的。而闭包的形式为
{
(参数列表)-》返回值 in
语句值
}
<3> 闭包简化
1 但可以推断出上下文环境的参数类型和返回值的参数类型,则可以把参数类型省略
2 如果闭包内容语句只有一条,则return也可以省略
<4>省略参数名
swift中可以对参数名进行省略,我们用$0,$1,$2来代表闭包中的参数。
如果使用省略参数名,则闭包中,则必须省略参数列表定义
到这里,大家应该对闭包有个初步的理解了,再多做点练习,相信很快就能掌握