創(chuàng)造者:克里斯·拉特納(Chris Lattner ?琢锋,70后程序員,LLVM 主要發(fā)起人與作者之一、Clang 編譯器的作者)
Swift中文名:雨燕?
開始開發(fā)時(shí)間:2010年7月
Swift 推出時(shí)間:WWDC2014(2014.06.03)
特色:
閉包
泛型
元組 和?多個(gè)返回值
命名空間
類型推斷?類型安全
內(nèi)存自動(dòng)管理
去頭文件引入
去main()
分號
全面的Unicode支持
與 Objective-C 進(jìn)行混合編程屡限,但代碼分屬不同的文件
介紹:
Swift 是面向 Cocoa 和 Cocoa Touch 的編程語言兼耀,編譯型語言压昼,生產(chǎn)環(huán)境的代碼都需要 LLVM 編譯成本地代碼才能執(zhí)行,但是Swift又具備很多動(dòng)態(tài)語言的語法特性和交互方式瘤运。
Swift是本地代碼(native code)語言窍霞,將被編譯成被CPU直接執(zhí)行的機(jī)械碼,不像JavaScript拯坟、Python等腳本語言解釋執(zhí)行但金,也不像Java、C#編譯成中間代碼并需要虛擬機(jī)來執(zhí)行郁季,所以Swift的效率可以得到保證
Swift是一種類型安全的語言冷溃。類型安全就是說在編程的時(shí)候需要弄清楚變量的類型。因?yàn)镾wift是類型安全的梦裂,它會在編譯的時(shí)候就檢查你的代碼似枕,任何類型不匹配時(shí)都會報(bào)錯(cuò)。如果不指定你需要的類型年柠,Swift使用類型推導(dǎo)來指定出相應(yīng)的類型凿歼。類型推導(dǎo)使編譯器在編譯的時(shí)候通過你提供的初始化值自動(dòng)推導(dǎo)出特定的表達(dá)式的類型。
Swift 沒有提供顯式的指針冗恨,參數(shù)傳遞根據(jù)數(shù)據(jù)類型的不同分為值類型和引用類型答憔,值傳遞進(jìn)行內(nèi)存拷貝,引用傳遞最終傳遞的是一個(gè)指向原有對象的指針掀抹。這一點(diǎn)和 Java 的參數(shù)傳遞是類似的虐拓。需要注意的一點(diǎn)是,Swift 里的數(shù)組和字典雖然都是結(jié)構(gòu)體(struct)渴丸,但在參數(shù)傳遞過程中處理方式卻不一樣侯嘀,默認(rèn) Array 是引用傳遞另凌,Dictionary 是值傳遞。而在 Java 中戒幔,由于數(shù)組和 Map 都是對象吠谢,所以傳遞的都是指針
Swift 沒有從語言層面支持異步和多核,不過可以直接在 Swift 中復(fù)用 GCD 的 API 實(shí)現(xiàn)異步功能诗茎。另外沒看到 Swift 的異常處理機(jī)制工坊,可能有了可選變量,異常的使用會非常少吧敢订。
? ??