码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2015-12-10 19:33:27      阅读:240      评论:0      收藏:0      [点我收藏+]

标签:

(一)类型转换

    类型转化在 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 而不用去明确地要使用 Int8UInt 等类型。

 

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类型转换 和 类型别名的定义(typealias)

标签:

原文地址:http://www.cnblogs.com/Iceing/p/5036841.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!