[swift 进阶]读书笔记-第六章:函数 C6P1函数的灵活性(The flexibility of function)

第六章:函数(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),起实质是快排和堆排的混合。 当集合很小时会转化为插入排序。避免不必要的性能消耗。

文章源文件地址

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 还不错的样子 一个人呆着都这么有做吃的的动力,我真是棒棒的哦(´-ω-`)
    荒诞派派阅读 2,635评论 0 0
  • 今天4月1日,愚人节。 今天是哥哥-张国荣飞走的日子。 1 从前有一种没有脚的小鸟,一生都在飞行,即使累了困了,也...
    墨香佳人阅读 4,514评论 2 4
  • 我想 试着去闯一闯 闯去那江南小镇 闯去那大漠戈壁 闯去那青青草原 闯去那塞下风光 闯进哪里都不是 闯进你心里 才...
    喃云阅读 1,364评论 0 0
  • 转自:https://blog.csdn.net/George__Yu/article/details/75896...
    laochonger阅读 5,242评论 0 1

友情链接更多精彩内容