我是一名iOS初學(xué)者茶袒,根據(jù)Swift官方文檔以及MJ大神Swift5.0視頻教學(xué)來學(xué)習(xí),記錄學(xué)習(xí)筆記凉馆,有那里寫的不明白或者寫錯的還請大神們幫忙解釋并指正薪寓,小白一定及時改正更新!
Swift是一門什么樣的語言澜共?
Swift是一種集結(jié)了蘋果的文化精髓以及開源社區(qū)多樣化于一身的編程語言向叉。完全開源,主要采用C++編寫嗦董,一門用于開發(fā)iOS母谎、OS X、watch OS應(yīng)用的編程語言京革。
Swift語言相對于OC有什么不同呢奇唤?
Swift通過向其他現(xiàn)代編程模式學(xué)習(xí),定義了大量的類來避免常見的編程錯誤:
- 常量只能賦值1次匹摇,不要求在編譯時期確定咬扇,但是在使用之前必須賦值
- 常量/變量不初始化是不能使用的;
- 數(shù)組索引會檢查越界錯誤来惧;
- 整數(shù)會檢查溢出冗栗;
- 可選項保證nil值會顯示輸出,類似于OC中的nil指針供搀,但是不只是類隅居,可選項可以用在所有的類型上。比nil更安全葛虐,因此是一門類型安全的語言胎源;
- 內(nèi)存自動管理;
- 錯誤處理允許從錯誤中恢復(fù)控制屿脐;
Swift編譯流程
編譯器:分為前端(詞法分析)和后端(生成對應(yīng)平臺的二進制)
Swift Code—>Swift語法樹(AST)—>兩種特有中間代碼(Swift IL)—>后端:(LLVM的中間代碼LLVM IR)—>匯編代碼—>二進制代碼(exe)
Swift存放處及常用命令
swiftc -help 命令
cd到Swift工程目錄下
Swift特點
- 不用編寫main函數(shù)涕蚤,Swift將全局范圍內(nèi)的首行作為程序入口(有main函數(shù)宪卿,轉(zhuǎn)為匯編語言可以證明,底層已經(jīng)寫好)
- 代碼尾部可以省略(;) 多句代碼同一行時必須用(;)分開
- var/let分別定義變量/常量 編譯器自動推斷出變量/常量的類型
- playground快速預(yù)覽代碼效果(學(xué)習(xí)語法非常有用 )
playground學(xué)習(xí)
-
使用playground運行快捷鍵
-
支持多page
-
playgound注釋
playgound的注釋支持markup語法(類似markdown語法),且只在playground中有效
如何開啟markup渲染效果万栅?Editor—>Show Rendered Markup
Swift學(xué)習(xí)日記1.0