第六章:函数(function)

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

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

话不多说,直接上代码

    var mArray = [3, 1, 2]mArray.sort() ///1 2 3mArray.sort(by: >)  ///3 2 1let animal = ["fish", "dog", "elephant"]///反向比较字符串的大小  我们可以嵌套任意的比较函数  让排序功能更强大!let okAnimal = animal.sorted { (lhs, rhs) -> Bool inlet 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),起实质是快排和堆排的混合。 当集合很小时会转化为插入排序。避免不必要的性能消耗。

文章源文件地址

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

  1. [swift 进阶]读书笔记-第十一章:互用性 C11P1 实践:封装 CommonMark

    第十一章:互用性 Interoperability 前言: swift 的最大优点就是与C 或者 OC 混编的时候稳的一匹 本章主要讲了swift和C之间的一些知识点. 11.1 实践:封装 Comm ...

  2. 《Python从入门到实践》读书笔记——第六章 字典

    <Python从入门到实践>读书笔记--第六章 字典 1. 一个简单的字典 alien_0 = {'color': 'green', 'points': 5}print(alien_0[' ...

  3. 《C++ Primer》读书笔记—第六章 函数

    声明: 文中内容收集整理自<C++ Primer 中文版 (第5版)>,版权归原书所有. 学习一门程序设计语言最好的方法就是练习编程 一.函数基础 1.一个典型的函数定义包括以下内容:返回 ...

  4. 强化学习(RLAI)读书笔记第六章差分学习(TD-learning)

    第六章:Temporal-Difference Learning TD-learning算法是强化学习中一个独具特色而又核心的想法,结合了蒙特卡洛算法和动态规划的想法.和MC一样不需要环境模型直接从s ...

  5. Entity Framework 4 in Action读书笔记——第六章:理解实体的生命周期(三)

    objectstatemanager更改跟踪管理 ObjectStateManager组件(从现在开始称之为 state manager)负责与上下中对象追踪有关的一切: 1.当添加,附加到上下文或者 ...

  6. 财务自由之路 读书笔记 第六章 债务

    第六章 债务 25 绝不要用短期方法解决长期问题 ​ -丹尼尔·s<交易与收益> "赢家一生只做头等舱". 第一节 坏债是如何产生的 好债和坏债  个人认为,使用消费贷 ...

  7. 《Microsoft Sql server 2008 Internals》读书笔记--第六章Indexes:Internals and Management(3)

    <Microsoft Sql server 2008 Internals>读书笔记订阅地址: http://www.cnblogs.com/downmoon/category/230397 ...

  8. [swift 进阶]读书笔记-第八章:错误处理 C8P2 错误和函数参数

    第八章:错误处理 8.2 抛出和捕获 本小节主要讲了概念do catch throws 相关的东西 先想想我们在上一节讲了Result类型 知识点1: swift不会返回一个Result来表示失败,而 ...

  9. R语言acres92 region_《R语言实战》读书笔记-- 第六章 基本图形

    首先写第二部分的前言. 第二部分用来介绍获取数据基本信息的图形技术和统计方法. 本章主要内容 条形图.箱型图.点图 饼图和扇形图 直方图和核密度图 分析数据第一步就是要观察它,用可视化的方式是最好的. ...

最新文章

  1. HTML课堂笔记02-21
  2. 配置mysql数据库时出再错误:LookupError No installed app with label admin(亲测)
  3. ECMAScript 2019(ES10)新特性简介
  4. lpc2000 filash utility 程序烧写工具_单片机烧录程序的次数
  5. linux怎么删干净mysql,linux怎么干净卸载mysql
  6. IDEA中中文乱码问题解决方案
  7. C#从构造函数中调用其他构造函数
  8. python能和c语音交互吗_Python和C语言交互--ctypes,struct
  9. XML文件处理的思考
  10. mysql如何加快备份和恢复速度_加速mysql备份和恢复
  11. Java 设计模式 之 单例模式(Singleton)
  12. SIFT算法论文:译文、详解
  13. 目标检测算法——YOLOv3
  14. SpringBoot中的SearchStrategy介绍
  15. 有钱任性的农夫山泉,被迫踏上IPO?
  16. 使用docker创建属于你的ChatGPT
  17. 在 uni-app 中 使用字体图标
  18. js字符串的拼接,用逗号隔开
  19. oracle闪回ddl,Oracle闪回详解
  20. 不是把,微信也能改?

热门文章

  1. Tomcat详解(九)——Tomcat虚拟主机配置实战
  2. 电脑如何设置启动项?
  3. 【模式识别】MPL,MIL和MCL
  4. 标识符的命名规则和命名规范
  5. java基于ssm+vue教师人事档案管理系统
  6. 《中国大数据发展指数报告(2018年)》全文出炉!(附下载)
  7. linux系统划分VLAN或trunk口的方法
  8. mmap详细解析及式例
  9. 那些可以讲给女朋友听得笑话_01
  10. 2016年31款轻量高效的开源JavaScript插件和库(下)