(一)類型轉換
類型轉化在 Swift 中是比較嚴格的,不同類型之間可以認為是不能相互轉化的,只能重新產生一個對象和值,並拷貝一份。
1.0 整型數值之間的轉換。
// 不同類型是不能直接相加的,這時我們就需要用到類型轉換
let int8 : Int8 = 12
let int16 : Int16 = 14 + Int16(int8)
print(int16)
//輸出 : 26
又上可見,通過轉化也可以順利得到正確的值,但是值得我們注意的是:由短整型向長整型轉換是都可以成功的,且不會丟失值;而如果長整型向短整型轉換時就會有可能不成功。
如:
let int32 : Int32 = 1234
let int8t : Int8 = Int8(int32) // 出錯,無法轉換,因為1234 已經超出Int8類型所能表示的最大數值(127)
所以 Swift 也建議我們盡量使用 Int, 而不用去明確地要使用 Int8、UInt 等類型。
2.0 整型數值和浮點型數值之間的轉換
let a: Int = 10
print(Float(a)) // 輸出 10.0
let b :Float = 10.2
print(Int(b)) // 輸出 10 , 所以浮點類向整型轉化,會丟失小數點後的部分,會失去精度
所以我們可以得出: 精度高的向精度低得轉換,會丟失,而反之則不會。
(二) 類型別名
所謂類型別名: 就是指給一個類型取一個別名。這裡用到關鍵字 typealias
typealias myInt = Int8
print(myInt.max) //輸出 127 ,這我們取裡一個別名代替了系統的 Int8
Swift 正式開源,同時開源 Swfit 核心庫和包管理器 http://www.linuxidc.com/Linux/2015-12/125847.htm
Apple Swift學習教程 http://www.linuxidc.com/Linux/2014-09/106420.htm
使用 Swift 構建一個 iOS 的郵件應用 http://www.linuxidc.com/Linux/2014-08/105542.htm
Swift 2.0開源化 http://www.linuxidc.com/Linux/2015-06/118594.htm
Linux下搭建Swift語言開發學習環境 http://www.linuxidc.com/Linux/2015-12/125983.htm
Swift 的詳細介紹:請點這裡