WWDC
2014剛於昨日落幕,會中除了發表令人驚豔的OS X Yosemite以及iOS8之外,整場的最大高潮大概就是Craig Federighi說出「We have new programming language.」的時候。今天,就帶各位初步地認識一下「Swift」這個新語言吧。
Swift兼備Procedure Language的效能與Scripting Language的簡潔,「Fast、Modern、Safe、Interactive」是它的四種特性。同樣對一個複雜的物件進行排序,Objective-C的速度是Python的2.8倍,而Swift的速度是Python的3.9倍(如圖一)。
圖一
使用RC4演算法進行加密,Objective-C的速度是Python的127倍,Swift的速度是Python的220倍(如圖二)!
圖二
Swift除了可以取代Objective-C作Mac App和iOS
App的開發語言外,也可相容C與Objective-C。此外,在互動性方面,Swift支援Xcode6的一個全新功能「Playground」,開發者能在編寫程式的同時,在Playground上看到程式執行的結果,還能透過拖拉時間軸來監看每一個時間點。
不免俗地,我們用Swift來寫一段「Hello world!」看看:
Swift透過var來宣告變數、let宣告常數,由於具備Type Inference,在宣告時不一定需要型別:
若需宣告型別則如下寫法:
Swift不支援隱式型態轉換,因此切記必要時要手動轉型:
但有一個比較簡單的方法可以進行字串格式化(使用反斜線加上小括號):
使用中括號來產生陣列與字典:
Swift是一個融合各家語法精髓的程式語言,目前我也正在閱讀階段,這篇文章希望能夠拋磚引玉,各位有興趣的可以至Apple Developer網站下載「The Swift Programming Language」,它是一本厚達五百多頁、不折不扣的程式書,非常歡迎大家一同學習討教。