天天看點

Swift語言指南(七)--語言基礎之布爾值和類型别名

布爾值

Swift有一個基本布爾類型,叫做布爾(bool),布爾值又稱邏輯值(logical),因為它隻能為真(true)或假(false)。Swift提供了兩個布爾常量值:true,false:

orangesAreOrange和turnipsAreDelicious被推斷為布爾類型,因為它們的值被布爾字面量給初始化了。與前文提到的Int或Double一樣,不需要特意為變量或常量聲明為bool,隻要你在建立時将其值設為true或false即可(值為true或false後,Swift會推斷其位bool類型--Joe.Huang)。已知類型的值初始化為常量或變量時,類型推斷使Swift代碼更簡練更具可讀性。

在你使用if這樣的條件判斷語句時,布爾值(bool)非常有用:

Swift的安全類型機制可以避免非布爾值被當做布爾值使用,下面的例子在編譯時會報錯:

而下面的這個例子會編譯通過:

i == 1 比較的結果類型為 Bool,是以第二個例子可以通過類型檢驗。i == 1 這類的比較在 基本運算符(暫未譯到) 一章讨論。

與 Swift 中的其他類型安全規則一樣,這些規則可避免偶然性突發性的錯誤,并確定各段代碼的目的總是明晰的。

類型别名

類型别名(type aliases)是已有類型的可替代性名稱(為已有類型提供了一個可替代性的名稱),使用關鍵字typealias定義一個類型别名。

類型别名在你需要為上下文中的已有類型提供一個更貼切的名字時非常有用,例如當處理來自外部資料源的特定寬度的資料時:

一旦定義完了類型别名,你就可以在其他地方以類型别名替代已有類型的原始名字:

此處 AudioSample 作為 UInt16 的别名定義。因為它是别名,是以對 AudioSample.min 的調用實際上是調用 UInt16.min,最終為 maxAmplitudeFound 變量提供一個初始值 0。

謝謝,Swifter-QQ群:362232993,同好者進~ 

Fork:https://github.com/Joejo/Swift-lesson-for-chinese

繼續閱讀