Swift語言指南(四)--型別安全和類型推斷

來源:互聯網
上載者:User

Swift是一門型別安全語言,型別安全語言需要代碼裡值的類型非常明確。如果你的代碼中有部分值需要String類型,你就不能錯誤地傳遞Int。

鑒於Swift的型別安全,編譯代碼時,Swift會執行類型檢查並將任何類型不符的地方標記為錯誤,使你在開發當中儘可能早的捕獲並修正錯誤。

類型檢查有助於你在操作不同值的類型時避免犯錯。但這並不意味著你必須在聲明每一個常量或變數時去檢查類型,如果你不檢查所需值的類型,Swift會執行類型推斷來計算出相應地類型。

類型推斷讓編譯器在編譯代碼時,根據你提供的值,自動推測出特定運算式的類型。

基於類型推斷,Swift對型別宣告的需要遠比C或Objective-C語言要少得多。常量與變數仍然有明確的類型,但明確指定類型的工作已經由編譯器代你完成。

當你聲明一個常量或變數並賦予一個初始值時,類型判斷尤其有用。通常通過在聲明時賦字面值literal value,或稱“字面量literal)實現(類型判斷)。(字面值指直接出現在原始碼中的值,如下例中的 42 與 3.14159)

比如說,你給一個新的常量賦一個字面值42但未指定其類型時,Swift會推斷你想要一個Int型的常量,因為你初始化時提供的數字像一個整數:

1 let meaningOfLife = 422 // meaningOfLife 被推斷為Int型

同樣的,如果不為浮點數字面量指定類型時,Swift會推斷你想要建立一個Double型:

1 let pi = 3.141592 // pi 被推斷為Double型

Swift在推斷浮點數數字時通常會選用Double(而不是Float)。

如果你在運算式中結合了整數和浮點數字面量,Swift會根據上下文中推斷返回Double型:

1 let anotherPi = 3 + 0.141592 // anotherPi 會被推斷為Double型

上例中,字面值3自身不屬於某個類型,也未明確指定類型,根據當前附加部分的浮點數字面量推斷並適當地輸出Double型。

 

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

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

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.