Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名
来源:互联网 发布:免费顶级域名注册 编辑:程序博客网 时间:2024/06/05 00:40
在前面, 我们介绍了Swift的一些基本东西, 现在我们继续讲讲其他基础的东西:
1. 数值的字面量
十进制数, 没有前缀
二进制数, 前缀加0b
八进制数, 前缀加0o
十六进制数, 前缀加0x
例子:
let decimalInteger = 17let binaryInteger = 0b10001let octalInteger = 0o21let hexadecimalInteger = 0x11println("\(decimalInteger), \(binaryInteger), \(octalInteger), \(hexadecimalInteger)")// 打印出来的结果: 17, 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中的使用方法原理相似, 这里就不多解释.
好了, 这次我们就讲到这里, 下次我们继续~~
0 0
- Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名
- Swift语法基础:13 - Swift的字符串字面量, 初始化字符串, 字符串可变性, 字符串是值类型
- Swift Assertion断言/类型别名/类型转换
- Swift编程语言学习1.4——数值型字面量、数值类型转换
- Swift基础语法: 22 - Swift的函数类型, 嵌套函数
- 04_Swift2基础之类型安全和类型推测+字面量+类型别名
- swift-9 类型转换
- swift的别名和复数值类型
- Swift 字面量
- Swift学习笔记基础语法-整数类型
- Swift基础语法10-- 可选类型
- swift 可选类型语法
- swift-基础05-类型别名和Bool型
- swift中字面量的定义使用
- swift_012(Swift 的字面量)
- swift——内置类型字面值
- swift-基础04-数字类型转换
- 【swift 学习】第二课---类型转换,类型别名,元祖,可选类型,可选绑定,断言
- [LeetCode OJ]ZigZag Conversion && Valid Sudoku && String to Integer (atoi)
- [BZOJ 1043][HAOI 2008]下落的圆盘(计算几何)
- ubuntu下ftp常识用法
- 示例解读Java的跨平台原理
- Apache_Maven基本配置和使用
- Swift语法基础:9 - Swift的字面量, 类型转换, 类型别名
- Java的数据库事务处理
- 安装版Tomcat的使用
- JAVA ThreadLocal对象浅析
- 如何在脚本中调用该对象的component
- iOS开发UI篇—字典转模型
- POJ题目翻译前言
- 《Head First 设计模式》之命令模式
- 集合的辨析,set,list,map的不同之处