Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名

Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名,第1张

概述在前面, 我们介绍了Swift的一些基本东西, 现在我们继续讲讲其他基础的东西: 1. 数值的字面量 十进制数, 没有前缀 二进制数, 前缀加0b 八进制数, 前缀加0o 十六进制数, 前缀加0x 例子: let decimalInteger = 17let binaryInteger = 0b10001let octalInteger = 0o21let hexadecimalIntege

在前面,我们介绍了Swift的一些基本东西,现在我们继续讲讲其他基础的东西:

1. 数值的字面量

十进制数,没有前缀
二进制数,前缀加0b
八进制数,前缀加0o
十六进制数,前缀加0x

例子:

let decimalinteger = 17let binaryInteger = 0b10001let octalinteger = 0o21let hexadecimalinteger = 0x11println("\(decimalinteger),\(binaryInteger),\(octalinteger),\(hexadecimalinteger)")// 打印出来的结果: 17,17,17
2.指数

十进制的指数

let a = 1.25e2let b = 1.25e-2println("\(a),\(b)")// 打印出来的结果: 125.0

这些也是十进制

let decimalDouble = 12.1875let exponentDouble = 1.21875e1let hexadecimalDouble = 0xC.3p0println("\(decimalDouble),\(exponentDouble),\(hexadecimalDouble)")// 打印出来的结果: 12.1875,12.1875,12.1875

十六进制的指数

let a = 0xFp2let b = 0xFp-2println("\(a),\(b)")// 打印出来的结果: 60.0,3.75
3.数值类型转换

在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_000let one: UInt8 = 1let twoThousandAndOne = twoThousand + UInt16(one)println(twoThousandAndOne)// 打印出来的结果: 2001

我们必须得初始化另一个期望类型,然后在运算的时候把两个数字转成相同的类型再进行运算.

4.整数和浮点数的类型转换

在Swift里转换整数或者浮点数,需要显式声明,比如:

let three = 3let pointOneFourOneFiveNine = 0.14159let pi = Double(three) + pointOneFourOneFiveNineprintln(pi) // 打印出来的结果: 3.14159

如果我们需要把结果再转换一下,那就另外再显示声明:

let integerPi = Int(pi)println(integerPi)// 打印出来的结果: 3

这样子的写法就是把pi转换成整数,转成整数的时候会自动把尾巴去掉,无论你的小数最后一个是多大,它不会根据什么四舍五入进行进制.

5.类型的别名

在Swift中也是有类型别名的,下面让我们来看看:

typealias AudioSample = UInt16var maxAmplitudeFound = AudioSample.minprintln(maxAmplitudeFound)// 打印出来的结果: 0

他这个的定义和OC中的使用方法原理相似,这里就不多解释.

好了,这次我们就讲到这里,下次我们继续~~

总结

以上是内存溢出为你收集整理的Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名全部内容,希望文章能够帮你解决Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1088764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存