您好,登錄后才能下訂單哦!
本文來自于瘋子們的開源圖書
Swift是一種類型安全的語言。類型安全的語言鼓勵你要清楚的知道,代碼中正在使用的那些值的類型。如果你的代碼想要一個字符串類型,你就不能錯誤的傳一個Int類型給它。
因為Swift是類型安全的,在編譯你的代碼的時候,它會執行類型檢查,并且把任何一個不匹配的類型當作錯誤標記出來。這使你在開發過程中能夠盡早的捕獲并且修改錯誤。
當你使用不同類型的值的時候,類型檢查能夠幫助你避免錯誤。然而,這并不代表你必須要指定每個你聲明的常量和變量的類型。如果你不指定你需要的值的類型, Swift使用類型推斷來算出合適的類型。當編譯器在編譯代碼的時候,只要通過檢查你提供的值,類型推斷能使它自動推斷出一個特殊表達式的類型,
因為有了類型推斷的緣故,Swift要比C和Objective-C少很多的類型聲明。常量和變量仍然是類型明確的,不過指定它們的類型的工作已經為你做好了。
當你用一個初始值來聲明常量和變量時,類型推斷是非常有用的。這通常是在聲明常量或變量的時候,指定一個文字值(literal)來辦到的.(文字值是指直接出現在你的代碼的值,比如上面例子中的42和3.14159)。
例如你分配一個42的文字值給一個新的沒有說明類型的常量,Swift推斷你想要這個常量是Int類型,因為你已經用一個看起來像一個整數的數字初始化它了:
同樣的,如果你沒有為一個浮點數字指定類型,Swift就推斷你想要創建一個Double類型:
Swift在推斷浮點數字的類型的時候,總是選擇Double類型(而不是Float類型)。
如果你在一個表達式中把整數文字和浮點文字混在一起,從上下文當中會被推斷為Double類型。
文字值3本身沒有明確的類型,所以從加法當中出現了浮點文字,推斷出類型為Double還是比較恰當的。
類型別名為現存類型定義另外一個可選的名字,用關鍵詞typealias來定義類型別名。
當你想要使用一個更加適合于上下文的名字來稱呼一個已存在類型的時候,類型別名是非常有用的,比如處理一個外部傳輸過來的特定大小的數據時:
一旦定義了一個類型別名,你可以在任何可以使用原來名稱的地方,使用別名:
這里,AudioSample被定義為UInt16的別名。因為它是一個別名,調用AudioSmaple.min實際上就是調用UInt16.min,它提供一個初始值0給maxAmplitudeFound.
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。