【讀書筆記】A Swift Tour

來源:互聯網
上載者:User

標籤:ram   子類初始化   適合   下載   ons   字元   cti   uid   語義   

素材:A Swift Tour

推薦下載Playground:Download Playground

objc 自己較為熟悉,想熟悉下風頭正勁的 swift。就先從官方的入門手冊開始擼。

每一小節,我都摘錄或總結3個對自己三觀衝擊最大的【知識點】,以方便以後溫習。總結不保證絕對正確,僅供交流之用。O(∩_∩)O哈哈~

Simple Values
  • var 表示變數
  • let 聲明常量
  • [] 用於聲明數組和字串
Control Flow
  • if 或 while 等的判斷條件中必須使用布爾值.
  • 判斷條件中的可能為 nil 值,統一使用 let varName = maybeNil 文法.
  • for in 迴圈,可同時應用於數組,字典或特定範圍(Range).
Functions and Closures
  • 形參新增了 "標籤" 語義,有效豐富了函數重載的語義
  • "標籤" 語義,不適合用於用作函數參數或函數傳回值的函數的聲明裡.
  • 閉包中,區分參數和函數體的,是通過 in 關鍵字來分割的.
Objects and Classes
  • swift 預設不會使用零值在聲明時初始設定變數.
  • let 常量,只能初始化一次,但可以不在聲明時立即初始化.
  • 子類初始化順序是: 子類未初始化屬性的初始化 --> 調用父類 init 方法 --> 其他額外操作
Enumerations and Structures
  • struct 是複製傳值,即使只是簡單的 var a = b, a 和 b 也是兩個獨立的對象.
  • enum 不是必須和某個類型值的關聯.
  • enum 可以使用某種模式來作為動態匹配的 case.
Protocols and Extensions
  • 增加新資料結構通用文法: [class|struct|enum|extension|protocol] 名稱 : [class|protocol] {...}
  • Int 等基礎類型,其實現是一個 Struct
  • enum 和 extension 不可以持有屬性,但是可以用 get 方法來類比一個屬性
Error Handling
  • try 和有 throws 聲明的函數配對使用.
  • try? 可選操作,有異常拋出則返回nil; try! 強制操作,有異常拋出,則拋出無法 do-catch 的致命異常.
  • defer block 在函數異常退出時,也可以正常執行.
Generics
  • 函數,方法,類,枚舉和結構體支援泛型的泛型的方式,就是在聲明時的名稱後,加 <泛型1, 泛型2, ...>
  • 使用泛型時,要保證能在編譯期推匯出其類型.
  • 可以使用 where 指定對泛型型別本身的一些要求.

【讀書筆記】A Swift Tour

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.