博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[swift 进阶]读书笔记-第六章:函数 C6P1函数的灵活性(The flexibility of function)...
阅读量:6176 次
发布时间:2019-06-21

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

第六章:函数(function)

6.1 函数的灵活性(The flexibility of function)

注:本节前部分主要通过一个排序的demo来介绍了函数的灵活性

话不多说,直接上代码

var mArray = [3, 1, 2]    mArray.sort() ///1 2 3    mArray.sort(by: >)  ///3 2 1                let animal = ["fish", "dog", "elephant"]    ///反向比较字符串的大小  我们可以嵌套任意的比较函数  让排序功能更强大!    let okAnimal = animal.sorted { (lhs, rhs) -> Bool in        let l = lhs.reversed()        let r = rhs.reversed()            ///按顺序比较两个字符串的大小   abc > abb 返回值是一个Bool         return l.lexicographicallyPrecedes(r)    }    print(okAnimal)复制代码
注: String的lexicographicallyPrecedes方法在项目中挺实用的,像比较时间字符串"2018-08-08" 和 "2018-03-04" 的时间先后就可以用这个方法。

函数作为数据

本节主要是通过几个排序的demo讲了一些具体案例。复制代码
知识点:swift中的排序算法是基于内省算法(introsort),起实质是快排和堆排的混合。 当集合很小时会转化为插入排序。避免不必要的性能消耗。

转载地址:http://zszda.baihongyu.com/

你可能感兴趣的文章
InnoDB大数据插入的优化和FULLTEXT索引性能优化的调研
查看>>
有关https的SSL加密方式
查看>>
ES6的开发环境搭建
查看>>
iOS JSON、XML解析技巧
查看>>
Android下InputStream发生网络中断时的解决办法的代码
查看>>
8 jQuery学习笔记第八节 Jq的效果之自定义动画
查看>>
8月不支持 64 位,App 将无法上架 Google Play!需要怎么做?
查看>>
Vs - 基于 d3.js 和 vue.js 的数据可视化
查看>>
优雅地使用loading
查看>>
活动运营自动化平台实践
查看>>
Node8.0 之 Napi 探秘
查看>>
TypeScript入坑
查看>>
(三)spring cloud微服务分布式云架构-服务网关zuul初级篇
查看>>
Spring Cloud--Honghu Cloud分布式微服务云系统—System系统管理
查看>>
ubuntu老旧软件源
查看>>
Linux服务器配置——SAMBA
查看>>
我的WP7应用
查看>>
js打开连接 _无需整理
查看>>
我的友情链接
查看>>
Nginx配置:负载均衡和SSL配置
查看>>