Swift类型转换 和 类型别名的定义(typealias)


(一)类型转换

类型转化在 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 核心库和包管理器

Apple Swift学习教程 

使用 Swift 构建一个 iOS 的邮件应用

Swift 2.0开源化 

Linux下搭建Swift语言开发学习环境

Swift 的详细介绍:请点这里

本文永久更新链接地址

相关内容