處支持任何語言都支持的整數類型、浮點類型、布爾類型、字符串類型等,還指出一些特殊的類型,如元組類型、可選類型。可是無論什麼類型,在Swift中,數據類型名稱都是以大寫字母開頭的。數組
這裏不一 一贅述,挑出一些我的認爲有必要的寫出來。iphone
1,爲了增長數組的可讀性,Swift語言增長了下劃線(_)來分割數值中數值。好比100000000,不少人能一眼反映出是1億,可是若是是1_0000_0000就很容易識別了。這裏的_不必定要是四個一組的,實際上是支持任意組合的,好比下面寫法都是合法的。this
let value1 = 12_000_000 let value2 = 1_000_000.000_001 var value3:Int = 1_00_000
2,類型強轉,感受跟Java同樣,很少說
spa
3,類型別名code
書中說Swift中的類型別名相似於C/C++中typedef,博主對其瞭解甚少,這裏就一帶而過了。至於在Swift中的用法則是這樣的:對象
須要使用typealias關鍵字,語法以下ip
typealias 類型別名 = 原始類型 //like this: typealias NewType = Int32 var newValue:NewType = 123 //定義時NewType和Int32是徹底同樣的
不過我的暫時沒有想到其使用場景,懂的人還請說明下。字符串
4,元組(tuples)類型,Swift語言提供的一中新數據類型。class
其實元組說白了就是包含多個值的數據類型,好比:變量
let product = (20,"iphone6",5888) //println或者print是Swift語言的打印命令至關於C語言裏面的printf()或者Java的sysout println(product) //結果爲 (20,"iphone6",5888)
那麼如何獲取一個元組的值呢?其實很簡單。
var product = (20,"iphone6",5888) var (id,name,price) = product //分別將product的三個值非爲三個變量id,name和price println("id=\(id) name=\(name) price=\(price)" ) //其中 \(變量名/常量名) 意思是:將變量名和常量名值插 //入到字符串中
若是隻想獲取其中某些值的話,其餘字段值能夠用_來佔位,好比
var product = (20,"iphone6",5888) var (_,name,_) = product println("name=\(name) " )
其實還有一種更爲簡單的獲取相關元素值的方法,那就是爲每個元素命名,引用的方法和引用對象屬性相同。
let product = (30,name:"iphone6",price:5999) println(product.name)
上面這種方法是否是看起來更見通俗易懂呢?
5,可選類型,書中雲其主要是爲了解決對象變量或者常量爲空的狀況。可是鄙人目前還有繞明白,就先不忽悠了,各位看官自行百度這裏吧。等我懂了再來補上。
// TODO 可選類型的概念