在本節將介紹一些最基礎的知識swift
swift提供本身版本的類型,下面說明幾種簡單的類型數組
Int 整型 Double和float 浮點型 String 字符串型 Bool 布爾型
它也提供了3種主要的強大的集合類型,set集合,array數組,dictionary字典安全
和C同樣,Swift經過變量類存儲並經過變量名來關聯值。函數
Swift高級類型【OC中沒有】ui
1.Swift還提供了oc沒有的高級類型,好比元組(Tuple),元組可讓你建立或者傳遞一組數據,好比做爲函數的返回值時,你能夠用一個元組能夠返回多個值。 編碼
2.可選類型,用於處理值缺失的狀況。在swift中不只類和對象能夠爲nil,任何類型均可以是nil。spa
swift是一門安全的語言,這意味着這門語言在你編碼時幫助你清理值的類型,你指望傳入一個String類型的值,類型安全會阻止你傳入一個int值,當傳入時會發生編譯時錯誤。code
下面詳細介紹一下swift的幾種簡單數據類型對象
1、整型integerblog
swift提供有符號和無符號整數。這些整數遵循命名約定相似於C,在一個8位無符號整數是uint8類型,和一個32位有符號整數類型Int32。你能夠獲取到不一樣整型數據的最大值和最小值。
UInt8.min 8位整數的最小值 UInt8.max最大值。
Int
在大多數狀況下,在你的代碼中你不須要選擇一個特定大小的整數。SWIFT提供一個額外的整數類型,int,長度範圍與當前平臺相等
在32位平臺,int與Int32的大小相同。
在64位平臺上,int與 int64的大小相同。
除非你須要工做與一個特定大小的整數,老是使用int整數值在您的代碼。這有助於代碼的一致性和互操做性。即便在32位平臺,int能夠存儲任何價值之間- 2147483648到2147483647,足夠大的整數範圍。
UInt
還提供了一個無符號的整數類型,uint,長度範圍與當前平臺相等
在32位平臺、uint是UInt32的大小相同。
在64位平臺上,uint是UInt64的大小相同。
注意
儘可能不要使用UInt,除非你真的須要存儲一個和當前平臺原生字長相同的無符號整數。除了這種狀況,最好使用Int,即便你要存儲的值已知是非負的。統一使用Int能夠提升代碼的可複用性,避免不一樣類型數值之間的轉換,而且匹配數字的類型推測。
2、浮點數值
Swift 提供了兩種有符號浮點數類型
- Double表示64位浮點數。當你須要存儲很大或者很高精度的浮點數時請使用此類型。
- Float表示32位浮點數。精度要求不高的話可使用此類型。
類型安全和類型推測
Swift 是類型安全的,因此它會在編譯你的代碼時進行類型檢查(type checks),並把不匹配的類型標記爲錯誤。這可讓你在開發的時候儘早發現並修復錯誤。類型檢查能夠幫你避免錯誤。然而,這並非說你每次聲明常量和變量的時候都須要顯式指定類型。若是你沒有顯式指定類型,Swift 會使用類型推測(type inference)來選擇合適的類型。有了類型推測,編譯器能夠在編譯代碼的時候自動推測出表達式的類型。原理很簡單,只要檢查你賦的值便可。由於有類型推測,和 C 或者 Objective-C 比起來 Swift 不多須要聲明類型。常量和變量雖然須要明確類型,可是大部分工做並不須要你本身來完成。當推測浮點數的類型時,Swift 老是會選擇Double而不是Float。
數值型字面量
十進制數,沒有前綴
二進制數,用0B前綴
八進制數,以0o前綴
十六進制數,一個0x前綴
數值類型轉換
整數和浮點數的轉換必須顯式指定類型
類型別名
類型別名(type aliases)就是給現有類型定義另外一個名字。你可使用typealias關鍵字來定義類型別名
typealias AudioSample = UInt16
Booleans布爾值
Swift 有一個基本的布爾(Boolean)類型,叫作Bool。布爾值指邏輯上的(logical),由於它們只能是真或者假。Swift 有兩個布爾常量,true和false: