Swift初探

开始之前允许吐槽一下,swift作为apple官方牵头并且为主的语言,特性进行了如此多修改和版本迭代对于一门开发语言来说是极其不推荐的。github上许多源码(app和第三方库)版本支持分swift2,swift3或者swift4(4.0和4.1竟然还有区分)就是明证。

工程编码对于语言特性和改变是非常敏感的,开发人员都不希望语言版本升级时留下的是一堆报红的error

---以上只是因为WCDB的swift版本从4.0升级到4.1时出错而引发的吐槽(Xcode9.3默认使用swift4.1,wcdb还只是支持4.0)

横向语言对比,swift参考了java,go语言的许多特性:

例如:

1.go中对struct的看中,这一点被引入到了swift中,此外swift很大的弱化了数据对象,转而支持struct,enum,protocol等,使其可以有变量,方法等。

2.java的强类型使得java是一门安全的语言,OC中由于C而引入的强转再也无法使用了,这个确实更安全。

3.java中的包名也引入进来,称为命名空间(C++说法),例如安卓的图片加载库GlideApp.XXXX使用方式和Alamofire.XXX一样的原理

4.泛型的使用也使得代码量更加精简和灵活。以前OC的泛型只能是通过id或者NSObject类型,使用时进行强转和判断,比较别扭

5.写法上更加灵活,不用再写一堆;作为代码分割,链式调用支持等

传送门:

swift官网

swift4.0教程学习网址1

swift教程学习网址2

20180411

你可能感兴趣的:(Swift初探)