首页 理论教育 利用闭包表达式实现高效编程

利用闭包表达式实现高效编程

时间:2023-06-23 理论教育 版权反馈
【摘要】:在动手写6.2.1中,我们已经通过类似的声明方式对数组进行了排序,相对于动手写6.2.2中的代码已经紧凑了很多。示例如下:动手写6.2.4 SuperBriefClosure控制台输出如下:Swift为内联的闭包提供了参数名称缩写的功能,使用“$”符号加上参数所在的位置号,可以引用相应位置的参数,然后再基于Swift的类型推断,“<”输出的是一个布尔类型的值,整个排序传入的闭包参数缩写到了7个字符。

利用闭包表达式实现高效编程

现在读者可以仔细地看看闭包的声明:

整个闭包的表达式都在花括号“{}”中,先在圆括号“()”中定义传入的参数,闭包的参数定义与函数的参数定义是一致的。然后在“->”之后声明返回值的类型。读者要注意的是声明中的“in”,这是用来分开闭包的输入输出和内部实现的分隔符。在动手写6.2.1中,我们已经通过类似的声明方式对数组进行了排序,相对于动手写6.2.2中的代码已经紧凑了很多。但既然闭包的本意就是语法简洁紧凑,那么就还有再简化的空间,示例如下:

动手写6.2.3 BriefClosure

控制台输出如下:

这里其实是使用了Swift编译器的类型推断帮助开发者进一步地节省代码。首先array中存放的是Int类型,所以count1和count2也是Int类型;接着“<”是个逻辑运算符,返回结果会是一个布尔类型的值,最终代码在一行内完成了排序的工作。如果读者看到这就觉得已经很简洁了的话,那是没有想到Swift的强大,因为代码还可以更简单!示例如下:(www.xing528.com)

动手写6.2.4 SuperBriefClosure

控制台输出如下:

Swift为内联的闭包提供了参数名称缩写的功能,使用“$”符号加上参数所在的位置号(0作为开始),可以引用相应位置的参数,然后再基于Swift的类型推断,“<”输出的是一个布尔类型的值,整个排序传入的闭包参数缩写到了7个字符(不算空格)。这样修改之后的代码已是极致简约了,本书推荐读者能够经常使用这种简约的代码风格,减少冗余代码的出现。但也不是提倡一味地使用这种方式,毕竟代码的可读性是第一位的,这样做也只是便于之后的扩展和维护。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈