Swift 第一课时
- 常量与变量
- 类型注解
- 打印
- 注释
- 数字类型
- 浮点数类型
- 类型安全和类型推论
- 数字进制
- 类型花名(别名)
- Boolean
- 元组 (Tuples)
- Optionals(可选的)
- nil
- optional 绑定
- 隐式展开 optional
- 错误处理
- 断言
常量与变量
常量 不可被修改。变量 可被修改。
声明方式
多个变量声明
小提示
如果存储的值不会发生改变,请使用
常量,变量只用来存储汇会改变的内容。
类型注解
当你创建一个变量时,可以显示的指定变量类型(虽然Swift非常聪明,可以自己推导)。
使用方式
多个变量声明
小提示
如果你提供了一个初始值,就不用指定变量类型。
这种方式是不必要的
打印
print() 函数是Swift的基本打印功能, 它可以打印任意的常量和变量
注释
注释是一个语言的基本模块,方便我们调试,隐藏不必要的信息,解释一段程序的功能等。
使用方式
数字类型
和c语言一样,它也提供了 signed 和 unsigned 两种数字类型(有符号和无符号)
有符号的数字:(正数,0,负数)
无符号的数字:(正数,0)
Swift将数字按照位数分成了几类: 8 16 32 64
数字界限
Swfit 提供了直接访问数字的最大值和最小值。
| 
 | 
 | 
Int
Swift 提供了一个默认的类型
Int它是根据当前系统的位数定义的。
- 在32位系统中,Int 等于 Int32
- 在64位系统中,Int 等于 Int64
UInt
Swfit 提供一个无符号的类型
UInt, 它和Int类型一致,根据当前系统的位数定义。
小提示
如果当你需要明确指定无符号的类型时才使用
UInt,否则Int类型应当是你的首选项。
浮点数类型
浮点数类型,一般指
Double和Float
Double代表 64位 浮点数类型。
Float代表 32位 浮点数类型。
小提示
Double类型的精确度至少有 15位,而Float类型的精确度比Double少 6位。
类型安全和类型推论
Swift 语言是类型安全的语言,同 java 一样,但同时不同于 java 的是,它可以推导出变量的类型。两个特点是同事兼备的。
| 
 | 
 | 
数字进制
Swift 也提供了一个直接表示数字的进制
类型花名(别名)
给 Swift 已经存在的类型名称,取一个别名
| 
 | 
 | 
Boolean
和其他语言一样
TrueFalse
| 
 | 
 | 
元组 (Tuples)
元组是多个数据组成一组,它包含任意类型
例如
小提示
元组是非常有用的数组结构,可以存储任意的类型,可以根据你的需求声明独特的数据结构。
Optionals(可选的)
你可以在值可能不存在的地方使用 optionals.
nil
你可以给 optional 变量分配一个特殊的值 nil .
| 
 | 
 | 
小提示
尝试使用
!来判断 optional 值,可以有效控制运行时错误发生。每次优先判断 optional 值存在时,才去使用 optional 值。
optional 绑定
optional 绑定可以使用在
if和while语句中
隐式展开 optional
隐式展开的好处,在于不用在每次调用 optional的时候,去检测它是否存在。
| 
 | 
 | 
小提示
如果 隐式展开 optional的值是nil,尝试使用它的时候,它会抛出一个运行时错误。
错误处理
当你的程序遭遇错误时,你可以使用 错误处理 来响应你的错误信息。
- 你可以指明你的函数抛出一个错误。使用关键字 throws
- 使用 trycatch来捕获你的错误信息。
| 
 | 
 | 
断言
有时候,你的代码不可能简单的继续执行,当它不满足一些特定的条件。在这些情况下,你可以使用一个断言在你的代码中到代码运行结束,当发生在一些缺失和无效值的时候可以提供一个调试机会。
调试与断言
| 
 | 
 | 
小提示
使用机构编译后的代码,断言是被禁用的。例如,当你编译正式版时在 Xcode 中是禁用的。
断言的使用场景
- 一个数字下标是通过一个自定义下标实现的,但是下标索引值不能太低和太高。
- 通过函数得到一个值,但是一个无效的值意味着这个函数是不能完成任务的。
- 一个可选的值是 nil, 但是一个 non-nil 值被使用,而且代码还执行成功了。
小提示
断言能够造成你的应用停止运行,这不能替代你的代码设计的当一个无效的情况从不可能上升到可能。既然如此,在一个无效的情况变为可能时,一个断言是有效的方式,在你的应用发布前可以确保这个条件能够高亮并且通知到开发者。