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
- Swift快速入门-变量和常量,Optional可选值
- 简析swift 中常量与变量 &Optional 可选值
- swift的可选值(optional)
- swift变量的可选(Optional)类型
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- Swift 可选值(Optional Values)介绍
- 个人总结Swift 中可选值(Optional)
- Swift Optional可选
- Swift:可选类型(Optional)
- Swift-Optional(可选类型?!)
- swift 可选(optional)
- OCP-V13-002
- 最快让你上手ReactiveCocoa之基础篇
- C++中的vector使用范例-
- 小车电机驱动及相关电路设计
- 字符串的常用方法—拼接字符串
- Swift快速入门-变量和常量,Optional可选值
- Struts2 的Action中取得请求参数值的几种方法
- OCP-V13-003
- mysql--事物
- hdu 5475 An easy problem(线段树)
- java SE复习笔记41
- 基于MSP430G2231实现多路数据采集器
- iOS播放视频 MPMoviePlayerViewController 和 MPMoviePlayerController 使用说明
- OCP-V13-004