简介
Swift措辞从WWDC2014发布开始,到现在已经发展了一年多韶光,越来越多的开拓者也开始学习和利用这门措辞。但就我所理解的情形来看,在实际项目中Swift的运用还是比较少。开拓者给它的评价也是褒贬不一,有的说它的安全性高,有的说它的特性多,有的说它的学习本钱高,还有的说它是一个玩具措辞不适宜工程。实在这都很正常,由于一千个人眼中有一千个哈姆雷特,措辞的喜好本身便是一件很主不雅观的事情。详细这个措辞怎么样,适不适宜工程,须要每个人实践之后才能得出自己结论。
Swift的特点
支持Unicode
代码原生支持Unicode字符。不仅在字符串中,乃至变量名、函数名等都能直策应用Unicode字符。虽然看上去很强大,但彷佛并没有什么用,该当没人喜好在编程时一直的切换输入法吧?

安全的类型
采取严格的类型,并去掉了隐式类型转换:
隐式类型转换一贯是一把双刃剑,虽然利用便利,但是可能引入一些很难调试的BUG,不容忽略。把隐式类型转换摘除,利大于弊。
从类型层面将空值nil隔离,利用时哀求对空值进行处理:
严格的语义逻辑
Swift对C语系一些常见的语义逻辑漏洞进行了修正,比如if等条件限定为Bool类型,赋值“=”操作不再有返回值等(实在有,是Void,即空元组“()”)。虽然利用上没有之前那么方便和灵巧,但这种改变能杜绝很大一部分的手误BUG,比如“==”写成“=”,还能避免一些偷
易用性
沿用并完善了Objective-C的函数中缀调用办法,参数有了真正的名字,调用时带上参数名能让函数接口更随意马虎理解,可读性更好:
优化了可变参数定义和利用办法:
在C语系中定义可变参数还须要va_list、va_start等,一段韶光不用根本想不起来怎么写,还得上网查,而在Swift中只须要遍历一个数组就能取到所有参数,非常方便。
优化了掌握流的利用:
Switch的case可以连写,而且加入了很多实用的匹配模式,比如匹配范围、元组、条件等,还可以自定义匹配模式,十分强大。其余分支默认是break办法,不像在C措辞中,明知道90%的case都是要break的,还要逼迫写上。还有一个很好的优化便是加入了跳转标签,在多重循环间掌握转移的时候更灵巧了。
加入了很多实用语法糖,仅仅一个闭包就有这么多简写办法:
这些语法糖能节省大量的开拓韶光和代码量,利用得当也能让代码更清晰,可读性更好。当然如果滥用的话可能起反浸染。
丰富的措辞特性
Swift支持类、协议、继续、多态等面向工具的措辞特性:
也有高等函数、闭包等函数式编程特性:
还有泛类型、泛函数、泛协议等泛型编程特性以及操作符自定义等新特性:
总之Swift加入了大量的盛行措辞特性,功能灵巧、强大,但是语法点也增加了很多,导致语法学习难度增大,各位可以按须要进行有针对性的学习。