標籤:
Swift是一種型別安全的語言。型別安全的語言鼓勵推薦在你代碼中的值盡量要清楚其所屬的類型。如果在你的代碼中有一個預先好的字串,你就不能錯誤地把他傳遞或者賦值給一個整數。
因為Swift是型別安全的,當編譯你的代碼時就會做類型檢測並且以錯誤的方式標識出所有的不匹配的類型。這樣使你能夠在開發過程中捕獲儘早的定位錯誤。
類型檢測能協助你避免你在不同類型之間工作時出現錯誤,這意並不意味著你必須為每一個聲明的常量和變數指定一個明確的類型。如果你不為你需要的值指定類型,Swift就會用類型推斷來計算出其恰當的類型。類型推斷能夠讓編譯器在編譯你的代碼時自動的推斷出特定代表式的類型.能夠簡單的檢測你提供的值。
因為類型推斷,Swift需要比其它語言(C 或者 Objective-C)定義更少的類型。常量和變數還是要明確的類型,但是指定它們類型的工作不需要你來做。
類型推斷在通過一個初始值來聲明常量或變數時特別有用。在你建立一個常量或一個變數時經常為他們指定分配一個字面值(字面值是直接出現在你的代碼中的,比如下面例子中的42,3,14159)。
例如,如果你為一個新的常量並且沒有指定蘢類型通過分配一個值為42的字面量時,Swift能夠推斷出你想這個常量的類型為是一個Int,因為你用一個整數來初始化了它的值:
let meaningOfLift = 42
// 類型推斷 推斷出它的類型為Int
同樣的,你不需要指定為一個字面浮點數指定類型,Swift能夠推斷出你想建立一個Double
let pi = 3,14159
// pi 的類型為Double
Swift在浮點數據類型推斷時總是選擇Double。
如果你在一個運算式中把一個整數一個浮點數據的字面量相加,類型推斷將會通過上下文推斷出的類型為Double:
let anotherPi = 3 + 0.14159
// anotherPi的類型也為Double
3它自己的字面量值沒有明確的類型(顯示類型),所以輸出的類型Double是通過存在的浮點數部分的字面值推斷出來的。
Swift之型別安全和類型推斷