在本節將介紹一些最基礎的知識 swift提供自己版本的類型,下麵說明幾種簡單的類型 它也提供了3種主要的強大的集合類型,set集合,array數組,dictionary字典 和C一樣,Swift通過變數類存儲並通過變數名來關聯值。 Swift高級類型【OC中沒有】 1.Swift還提供了oc沒有的高 ...
在本節將介紹一些最基礎的知識
swift提供自己版本的類型,下麵說明幾種簡單的類型
Int 整型
Double和float 浮點型
String 字元串型
Bool 布爾型
它也提供了3種主要的強大的集合類型,set集合,array數組,dictionary字典
和C一樣,Swift通過變數類存儲並通過變數名來關聯值。
Swift高級類型【OC中沒有】
1.Swift還提供了oc沒有的高級類型,比如元組(Tuple),元組可以讓你創建或者傳遞一組數據,比如作為函數的返回值時,你可以用一個元組可以返回多個值。
2.可選類型,用於處理值缺失的情況。在swift中不僅類和對象可以為nil,任何類型都可以是nil。
swift是一門安全的語言,這意味著這門語言在你編碼時幫助你清理值的類型,你期望傳入一個String類型的值,類型安全會阻止你傳入一個int值,當傳入時會發生編譯時錯誤。
下麵詳細介紹一下swift的幾種簡單數據類型
一、整型integer
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可以提高代碼的可復用性,避免不同類型數值之間的轉換,並且匹配數字的類型推測。
二、浮點數值
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: