美文网首页程序员
swift4学习之闭包(初识)

swift4学习之闭包(初识)

作者: 堇之 | 来源:发表于2018-08-03 15:39 被阅读0次

        闭包功能使得编码更加简洁,使用起来也非常方便,是swift中一个很重要的角色。闭包相当于是OC语言中的block,但是用起来比block方便很多。

1、所谓闭包,它的本质其实就是一段代码块。所以,swift中的闭包就是一个大花括号“{}”中的内容,当然,我这么说,并不是说所有{}中的都算是闭包,这只是闭包的一种表现形式。如下,定义一个函数类型的变量

        函数类型变量,这边就不多说,而“=”右边的就是一个闭包,即代码块。而且,因为swift是会自动识别函数或变量的类型,所以上面这段代码可以优化成两种情况。

        第一种根据闭包判断函数类型:

        第二种,根据变量定义的类型,省却闭包类型的定义,即闭包不用再次定义函数类型,但是要说明是什么是执行什么逻辑,且为了不用定义参数,swift给了$0、$1来代替参数名称,而且连return都省略了,结果如下:

2、闭包在方法中的使用。 闭包语句经常和方法声明配合使用,但是闭包语句通常放在最后一个参数的位置,放最后位置,代码看起来比较清晰。

        而且,调用起来,会让你觉得和OC中的block特别像。如图:

    或者直接传进去闭包函数。如图:

    而且,上面我们说道了swift的自动识别类型,但是swift不仅仅能自动识别函数类型,甚至还能够判断你要做的操作。所以,我们还可以简化成这样:

相关文章

  • swift4学习之闭包(初识)

    闭包功能使得编码更加简洁,使用起来也非常方便,是swift中一个很重要的角色。闭包相当于是OC语言中的bl...

  • swift闭包学习

    闭包作为参数 参考 Swift学习之闭包

  • swift4之闭包

    什么是闭包? 闭包是自包含的函数代码块,可以捕获和存储其所在上下文中任意常量和变量的引用。 闭包基础 尾随闭包 值...

  • Javascript 闭包

    闭包 (注:所以案例以 javascript 实现) 初识闭包 什么是闭包 MDNClosures are fun...

  • 初识闭包

    闭包 闭包就是指有权访问另一个函数作用域中的变量的函数。在后台执行环境中,闭包的作用域链包含着它自己的作用域,包含...

  • 初识闭包

    闭包,JavaScript语言一个很重要的点,可以说js库和各个框架百分百会用到闭包。那到底什么是闭包?闭包用来做...

  • Swift4闭包

    闭包是可以在你的代码中被传递和引用的功能性独立模块。Swift 中的闭包和 C 以及 Objective-C 中...

  • swift4 闭包

    swift 闭包 闭包:swift 中 函数是闭包的一种类似于oc的闭包闭包表达式(匿名函数) -- 能够捕获上下...

  • python函数之闭包

    目录 python函数之闭包什么是闭包python中的namespace闭包的条件闭包的优点 python函数之闭...

  • Swift4 闭包小结

网友评论

    本文标题:swift4学习之闭包(初识)

    本文链接:https://www.haomeiwen.com/subject/xfnyvftx.html