首页 > 编程语言 > 详细

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

时间:2015-12-10 19:31:23      阅读:193      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!