Swift快速入门-变量和常量,Optional可选值

来源:互联网 发布:迅捷路由器绑定mac 编辑:程序博客网 时间:2024/06/16 02:02

变量和常量

定义

  • let 定义常量,一经赋值不允许再修改
  • var 定义变量,赋值之后仍然可以修改
let x = 100//: 常量一旦设置,不能再次修改,以下代码会报错//x = 300var y = 200//: 变量设置之后,可以继续修改不会报错y = 300

自动推导

  • Swift能够根据右边的代码,推导出变量的准确类型
  • 通常在开发时,不需要指定变量的类型
  • 如果要指定变量,可以在变量名后使用:,然后跟上变量的类型

重要技巧:Option + Click 可以查看变量的类型

隐式转换

  • Swift 对数据类型要求异常严格
  • 任何时候,都不会做隐式转换

如果要对不同类型的数据进行计算,必须要显式的转换

let x2 = 10let y2 = 10.5let r1 = Double(x2) + y2let r2 = x2 + Int(y2)

let & var 的选择

  • 应该尽量先选择常量,只有在必须要对变量修改时,才需要修改为 let
  • 在 Xcode 7.0 中,如果没有修改变量,Xcode 会提示修改为 let


Optional可选值

  • Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
  • 定义变量时,如果指定是可选的,表示该变量可以有一个值,也可以是 nil
  • 默认值是 nil
  • 定义变量时,在类型后面添加一个 ?,表示该变量是可选的
//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算let num: Int? = 10
  • 如果 Optional 值是 nil,不允许参与计算或者调用方法
  • 只有解包(unwrap)后才能参与计算
  • 在变量后添加一个 !,可以强行解包

注意:必须要确保解包后的值不是 nil,否则会报错

//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算let num: Int? = 10//: 如果 num 为 nil,使用 `!` 强行解包会报错let r1 = num! + 100//: 使用以下判断,当 num 为 nil 时,if 分支中的代码不会执行if let n = num {    let r = n + 10}


Optional可选值

  • Optional 是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
  • 定义变量时,如果指定是可选的,表示该变量可以有一个值,也可以是 nil
  • 默认值是 nil
  • 定义变量时,在类型后面添加一个 ?,表示该变量是可选的
//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算let num: Int? = 10
  • 如果 Optional 值是 nil,不允许参与计算或者调用方法
  • 只有解包(unwrap)后才能参与计算
  • 在变量后添加一个 !,可以强行解包

注意:必须要确保解包后的值不是 nil,否则会报错

//: num 可以是一个整数,也可以是 nil,注意如果为 nil,不能参与计算let num: Int? = 10//: 如果 num 为 nil,使用 `!` 强行解包会报错let r1 = num! + 100//: 使用以下判断,当 num 为 nil 时,if 分支中的代码不会执行if let n = num {    let r = n + 10}
0 0