大佬教程收集整理的这篇文章主要介绍了Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在前面,我们介绍了Swift的一些基本东西,现在我们继续讲讲其他基础的东西:
十进制数,没有前缀
二进制数,前缀加0b
八进制数,前缀加0o
十六进制数,前缀加0x
例子:
let decimalInteger = 17
let binaryInteger = 0b10001
let octalInteger = 0o21
let hexadecimalInteger = 0x11
println("\(decimalInteger),\(binaryInteger),\(octalInteger),\(hexadecimalInteger)")
// 打印出来的结果: 17,17,17
十进制的指数
let a = 1.25e2
let b = 1.25e-2
println("\(a),\(b)")
// 打印出来的结果: 125.0
这些也是十进制
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
println("\(decimalDoublE),\(exponentDoublE),\(hexadecimalDoublE)")
// 打印出来的结果: 12.1875,12.1875,12.1875
十六进制的指数
let a = 0xFp2
let b = 0xFp-2
println("\(a),\(b)")
// 打印出来的结果: 60.0,3.75
在Swift中的树枝类型转换要注意一些东西,那就是变量可存储的数据范围,比如无符号类型的数值不能存储负数,已经是最大值的类型不能再扩充,这些操作都会引起编译器的报错,比如:
let cAnnotBeNegative: UInt8 = -1
// 报错: Integer literal overflows when stored into 'UInt8'
let tooBig: Int8 = Int8.max + 1
// 报错: Arithmetic operation '127 + 1'(on type 'Int8')results in an overflow
如果我们要将一个数转换成另一种类型,然后再运算的时候,我们需要这么做:
let twoThousand: UInt16 = 2_000
let one: UInt8 = 1
let twoThousandAndOne = twoThousand + UInt16(onE)
println(twoThousandAndOnE)
// 打印出来的结果: 2001
我们必须得初始化另一个期望类型,然后在运算的时候把两个数字转成相同的类型再进行运算.
在Swift里转换整数或者浮点数,需要显式声明,比如:
let three = 3
let pointOneFourOneFiveNine = 0.14159
let pi = Double(three) + pointOneFourOneFiveNine
println(pi) // 打印出来的结果: 3.14159
如果我们需要把结果再转换一下,那就另外再显示声明:
let IntegerPi = Int(pi)
println(IntegerPi)
// 打印出来的结果: 3
这样子的写法就是把Pi转换成整数,转成整数的时候会自动把尾巴去掉,无论你的小数最后一个是多大,它不会根据什么四舍五入进行进制.
@H_450_184@5.类型的别名在Swift中也是有类型别名的,下面让我们来看看:
typealias AudioSample = UInt16
var maxAmplitudeFound = AudioSample.@H_764_27@min
println(maxAmplitudeFound)
// 打印出来的结果: 0
他这个的定义和OC中的使用方法原理相似,这里就不多解释.
好了,这次我们就讲到这里,下次我们继续~~
以上是大佬教程为你收集整理的Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名全部内容,希望文章能够帮你解决Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。