设为首页 加入收藏

TOP

Swift类型转换 和 类型别名的定义(typealias)
2015-12-15 23:09:19 来源: 作者: 【 】 浏览:4
Tags: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字符串常用方法 下一篇Swift重写导航控制器类的 initial..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: