標籤:swift swift基礎 typedef 安全
A:小兒編程很不好!
B:多半是不愛學,從看英文版開始,讓你愛上編程!
Type Aliases 類型重定義(typedef)
Swift中重定義類型的關鍵字是typealias,至於怎麼用,應該不必多說了,看例子:
typealias AudioSample = UInt16 //定義了一個類型名稱AudioSample,代表UInt16類型var maxAmplitudeFound = AudioSample.min// maxAmplitudeFound is now 0
Booleans 布爾類型
布爾類型就兩個值,true或者false:
let orangesAreOrange = truelet turnipsAreDelicious = false
哈哈,第一個常量的字面意思是:橘子是橙色的,答案是True;第二個常量的字面意思是:蘿蔔很好吃,答案是False。
估計作者不愛吃蘿蔔,或者說不愛吃美國的蘿蔔,其實中國的蘿蔔有很多種做法,而且很好吃,Welcome to China,哈哈。
哦,對了,原文還說了,和Int && Double不同的是,當你定義常量或者變數為Bool類型的時候,如果你賦值了true 或者 false ,那就不需要聲明Bool類型了,Swift會自己判斷的(機智)。
當然,Bool在IF 語句中最常用了:
if turnipsAreDelicious { println("Mmm, tasty turnips!")} else { println("Eww, turnips are horrible.")}// prints "Eww, turnips are horrible.
需要注意的是:在Swift中,不允許其他的值替代Bool,意思就是在條件陳述式中,條件只能是Bool類型,其他類型(比如0,1)是不允許的,編譯會報錯,據說這麼做是為了Swift更加的安全。
編譯報錯版:
let i = 1if i { // this example will not compile, and will report an error}
編譯通過版:
let i = 1if i == 1 { // this example will compile successfully}
然後原著解釋了一下為什麼不同於其他的語言,Swift不允許0,1這樣的判斷:還是處於安全考慮,這麼寫可以避免意外的錯誤,並且保證條件陳述式的意圖非常的明確。