- let 定义常量,一经赋值不允许再修改
- var 定义变量,赋值之后仍然可以修改
demo(){
// 定义常量并且直接设置数值
let num = 20
// 常量数值一经设置,不能修改,以下代码会报错
// num = 30
// 使用 " : 类型",仅仅只定义类型,而没有设置数值
let num1: Int
// 常量有一次设置数值的机会,以下代码没有问题,因为 x1 还没有被设置数值
num1 = 30
// 一旦设置了数值之后,则不能再次修改,以下代码会报错,因为 x1 已经被设置了数值
// num1 = 50
// 变量
// 变量设置数值之后,可以继续修改数值
var num2 = 200
num2 = 300
}
- 应该尽量先选择常量,只有在必须修改时,才需要修改为 var
- 在 Xcode 7.0 中,如果没有修改变量,Xcode 会提示修改为
let
Optional
Optional是Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
定义变量时,在类型后面添加一个 ?,表示该变量是可选的
变量可选项的默认值是 nil
常量可选项需要设置一个初始值,主要用于在构造函数中
// num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
var num: Int? = 10
如果 Optional 值是 nil,不允许参与计算
只有解包(unwrap)后才能参与计算
在变量后添加一个 !,可以强行解包
注意:必须要确保解包后的值不是 nil,否则会报错
//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算
demo(){
var num: Int? = 10
//: 如果 num 为 nil,使用 `!` 强行解包会报错
var r1 = num! + 10
}