Swift知識(shí)匯總(1)

Swift是蘋果開(kāi)發(fā)的開(kāi)發(fā)語(yǔ)言,與OC在語(yǔ)法上有很多差異,我最近開(kāi)始用swift開(kāi)發(fā),最明顯的差異是從語(yǔ)法上,由別扭到熟悉,現(xiàn)在要為了將來(lái)的開(kāi)發(fā)繼續(xù)擴(kuò)寬一下Swift的知識(shí)面,其實(shí)對(duì)于OC的開(kāi)發(fā)人員,Swift上手是很快的,最近除了Swift開(kāi)發(fā),也接觸了Flutter開(kāi)發(fā)和vue開(kāi)發(fā),在總結(jié)知識(shí)點(diǎn)的都時(shí)候都會(huì)記錄下來(lái):

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

一、Swift和OC的區(qū)別

1.語(yǔ)言設(shè)計(jì):swift是一個(gè)現(xiàn)代的變成語(yǔ)言,設(shè)計(jì)時(shí)考慮了安全性和高性能,他語(yǔ)言簡(jiǎn)潔,支持范型、閉包、錯(cuò)誤處理等現(xiàn)代編程特性;oc基于c語(yǔ)言,是一個(gè)面向?qū)ο蟮某?,?shí)用動(dòng)態(tài)運(yùn)行時(shí)環(huán)境,支持動(dòng)態(tài)類型和消息傳遞機(jī)制

2.性能:通常認(rèn)為Swift和OC性能相當(dāng),或者更快,他是靜態(tài)類型的,并且編譯器可以進(jìn)行更多的優(yōu)化;由于動(dòng)態(tài)特性,可能在某些情況下稍遜于Swift,但是大多數(shù)應(yīng)用差不多

3.語(yǔ)法:Swift語(yǔ)法更為簡(jiǎn)潔、清晰,易于閱讀和編寫

swift代碼
swift代碼


OC代碼

4.集成性:Swift可以無(wú)縫調(diào)用OC代碼,不需要導(dǎo)入對(duì)應(yīng)的頭文件;OC需要借助于Header file導(dǎo)入頭文件才可以使用

5.錯(cuò)誤處理:swift使用do、try、catch、throw等關(guān)鍵字進(jìn)行錯(cuò)誤處理;OC通常使用異常處理

其他的就不一一贅述了,我覺(jué)得主要的區(qū)別是這些,別的我覺(jué)得差異很小,幾乎可以忽略不計(jì)

二、Swift基礎(chǔ)知識(shí)

1.基本語(yǔ)法:使用let聲明常量;var聲明變量(不用擔(dān)心,如果你寫錯(cuò)了Xcode會(huì)提醒你修改)

例如:let a = "1234" //自動(dòng)識(shí)別為String類型

2.數(shù)據(jù)類型:

Int(整數(shù))、Float(單精度浮點(diǎn)數(shù))、Double(雙精度浮點(diǎn)數(shù))、Bool(布爾值)、String(字符串)、Character(字符)、Array(數(shù)組)、Dictionary(字典)、Tuple(元組)

別的跟OC差不多,但是字典的寫法有所不同,它的寫法如下

dictionary

3.控制流:

if、switch ? ?、for-in、while、do-while

三、函數(shù)和閉包

1.定義函數(shù)

函數(shù)

2.閉包

閉包

四、可選類型

1.可用于處理不存在的值

2.使用?聲明類型

3.使用if let或者guard let進(jìn)行解包

五、類和結(jié)構(gòu)體

類(class)和結(jié)構(gòu)體(struck)

都是引用類型,但是類可以繼承,class是類的關(guān)鍵字,struck是結(jié)構(gòu)體的關(guān)鍵字

剩下的枚舉、協(xié)議、擴(kuò)展、就不一一贅述了,下一節(jié),繼續(xù)學(xué)習(xí)細(xì)節(jié)的東西

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容