Swift(二)基礎部分

數據類型數組

Swift 包含了 C 和 Objective-C 上全部基礎數據類型。它還增長了 Objective-C 中沒有的高階數據類型好比元組(Tuple)安全

一、基礎類型spa

  • Int整形和UInt無符號整形
  • FloatDouble浮點型
  • Bool布爾型
  • Character字符型
  • String字符串類型

二、集合類型code

  • Array數組
  • Set集合
  • Dictionary字典

三、高階類型blog

  • Tuple元組

聲明常量和變量開發

常量和變量必須在使用前進行聲明,Swift中使用 let 聲明常量,使用 var 聲明變量字符串

類型標註編譯器

當你聲明常量或者變量的時候能夠加上類型標註(type annotation),說明常量或者變量中要存儲的值的類型。若是要添加類型標註,須要在常量或者變量名後面加上一個冒號和空格,而後加上類型名稱。io

類型安全和類型推斷編譯

Swift 是一個類型安全(type safe)的語言。類型安全的語言能夠很清楚地知道代碼要處理的值的類型。

因爲 Swift 是類型安全的,因此它會在編譯你的代碼時進行類型檢查(type checks),並把不匹配的類型標記爲錯誤。這可讓你在開發階段就會發現並修復錯誤。當你要處理不一樣類型的值時,類型檢查能夠幫你避免錯誤。

然而,在聲明常量和變量的時候若是你沒有顯式指定類型,Swift 會使用類型推斷(type inference)來選擇合適的類型。有了類型推斷,編譯器能夠在編譯代碼的時候自動推斷出表達式的類型。原理很簡單,只要檢查你賦的值便可。

由於有類型推斷,和 C 或者 Objective-C 比起來 Swift 不多須要聲明類型。常量和變量雖然須要明確類型,可是大部分工做並不須要你本身來完成。

整數

整數能夠是有符號(正、負、零)或者 無符號(正、零)。Swift 提供了8,16,32和64位的有符號和無符號整數類型。能夠訪問不一樣整數類型的 min 和 max 屬性來獲取對應類型的最小值和最大值。通常來講,你不須要專門指定整數的長度。可是Swift 提供了特殊的整數類型Int和無符號整型UInt,它們的長度和當前平臺的原生字長相同。

注意:儘可能不要使用UInt,除非你真的須要存儲一個和當前平臺原生字長相同的無符號整數。除了這種狀況,最好使用Int,即便你要存儲的值已知是非負的。統一使用Int能夠提升代碼的可複用性,避免不一樣類型數字之間的轉換,而且匹配數字的類型推斷

浮點數

浮點數是有小數部分的數字,浮點類型比整數類型表示的範圍更大,能夠存儲比 Int 類型更大或者更小的數字。Swift 提供了兩種有符號浮點數類型:

  • Double表示64位浮點數。當你須要存儲很大或者很高精度的浮點數時請使用此類型。
  • Float表示32位浮點數。精度要求不高的話可使用此類型。

注意Double精確度很高,至少有15位數字,而Float只有6位數字。根據代碼須要處理的值的範圍來選擇使用哪一個類型,在兩種類型都匹配的狀況下,將優先選擇 Double

布爾值

Swift 有一個基本的布爾(Boolean)類型,叫作Bool。布爾值指邏輯上的值,由於它們只能是真或者假。

Swift 有兩個布爾常量,true 和 false

// 布爾值
let trueResult = true
let falseResult = false

元組

元組(tuples)把多個值組合成一個複合值。元組內的值能夠是任意類型,並不要求是相同類型。

可選類型

在Swift中,可選類型是爲了表達當一個變量值爲空的狀況。當一個值爲空時,它就是nil。Swift中不管是值類型或者引用類型的變量,均可以是可選類型。

可選綁定

使用 可選綁定 來判斷可選類型是否包含值,若是包含就把值賦給一個臨時常量或者變量。可選綁定能夠用在 if 和 while 語句中,這條語句不只能夠用來判斷可選類型中是否有值,同時能夠將可選類型中的值賦給一個常量或者變量。

隱式解析可選類型

如上所述,可選類型代表了常量或者變量能夠「沒有值」。能夠經過if語句來判斷是否有值,若是有值的話能夠經過可選綁定來解析值。可是在項目中,當一個可選類型被第一次賦值後,可選類型確定有值,那這個時候若是每次判斷和解析值就會很低效。

如此,咱們能夠將用做可選的類型的後面的問號 ? 改成感嘆號 ! 來聲明一個隱式解析可選類型。

相關文章
相關標籤/搜索