swift闭包,我的理解

什么是闭包?

可以捕获和存储其所在上下文中任意常量和变量的引用的表达式

{ (parameters) -> returnType in
    statements
}
我把所有的函数都理解为是闭包

全局函数:不能捕获值的闭包

方法: 定义在实例中的函数,所以方法也能当闭包表达式处理

嵌套函数:作用区域小点,可以捕获其封闭函数域内值的闭包。


例如

    //参数和返回值为空元组()的表达式 ()-> ()
     func open() {
        //....
    }
    //参数为空元组返回值为Int的表达式 ()->Int
    func open()-> Int {
        //return...
    }
    //  Int-> ()
    func open(i: Int)->(){
        //return()

    }

    // 参数为空元组,返回值为: 参数为Int 返回值为Int的表达式 (Int)-> Int,完整表达式 ()->Int-Int
    func open()-> Int-> Int {
        //return...
    }
    //参数为 ()->Int表达式, 返回值为Int,
    func open(i: ()-> Int)-> Int{
        //return...
    }

最后我的结论就是:  一切能转换成表达式(例如: ()-> Int->Int)的都当成闭包。


我这么理解应该片面,大家评论下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值