拥抱Swift

随着秋季发布会过后Swift4也正式放出,Switf4已趋向于稳健,为Swift3提供了源码兼容。无论是旧OC项目慢慢迁移到Swift4还是新项目直接使用Swift4,时机已然成熟,让我们拥抱Swift吧。Swift的灵活与优雅真让人神往。

Swift 既是一⻔高层级语言,又是一⻔低层级语言。 你可以在 Swift 中用 map 或者 reduce 来 写出十分类似于 Ruby 和 Python 的代码,你也可以很容易地创建自己的高阶函数。Swift 让你有能力快速完成代码编写,并将它们直接编译为原生的二进制可执行文件,这使得性能上可以与C 代码编写的程序相媲美。
我们可以兼顾高低两个层级。将一个数组通过闭包表 达式映射到另一个数组所编译得到的汇编码,与直接对一块连续内存进行循环所得到的结果是一致的。

Swift 是一⻔多范式的语言。你可以用 Swift 来编写类似于OC语言那样面向对象的代码,也可以使用不变量的值来写纯函数式的程序。

Swift 拥有泛型,协议,协议扩展,值类型以及闭包等特性,这些特性是对函数式⻛格的很好的介绍。

如果一个函数接受别的函数作为参数,或者一个函数的返回值是函数,那么这样的函数就叫做高阶函数(higher-order function)。

定义在类或者协议中的函数就是方法 (method)
自由函数和那些在结构体上调用的方法是静态派发 (statically dispatched) 的
类或者协议上的方法可能是动态派发 (dynamically dispatched) 的。

实现多态(polymorphic)的三种方式:
1、子类型和方法重写 (overriding)
2、函数重载 (overloading),它是指为不同的类型多次写同一个函数的行为
3、通过泛型,也就是一次性地编写能够接受任意类型的的函数或者方法

优先选择结构体,只在确实需要使用到类特有的特性或者是引用语义时才使用类。
尽可能地对现有的类型和协议进行扩展,而不是写一些全局函数。这有助于提高可读性, 让别人更容易发现你的代码

项目Swift化、项目组件化/模块化、非业务组件开源化等技术改造将成为后续的工作

打赏支持一下呗!