歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Swift類型轉換 和 類型別名的定義(typealias)

Swift類型轉換 和 類型別名的定義(typealias)

日期:2017/3/1 9:20:24   编辑:Linux編程

(一)類型轉換

類型轉化在 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 的詳細介紹:請點這裡

Copyright © Linux教程網 All Rights Reserved