条件和分支语句
来源:互联网 发布:怎样去掉mac上win 编辑:程序博客网 时间:2024/06/05 17:10
if语句
var i = 10if i > 0 { print("OK")}
- 总结
- Swift 中没有 C 语言中的非零即真概念
- 在逻辑判断时必须显示地指明具体的判断条件
- if 语句条件的 () 可以省略
- 但是 {} 不能省略
switch case语句
// 1. var a = 10 // Int switch a { case 10: print("a = 10") case 20: print("a = 20") default: print("nothing") } // 2.可以针对任意类型进行分支,不在局限于整数 let name = "Jerry" switch name { case "Jerry": print("Jerry") case "John": print("John") case "Andy": break // 如果case里面没有执行任何代码,需要添加break default: print("default") }
- 总结
- switch后的()可以省略,在case中定义变量可以不加大括号
- 可以不写break, 不会穿透执行
- 一定要写default, 并且default的位置只能在最后
while语句
var a = 10while a > 0 { print("a = \(a)") a -= 1; // ++ 和 -- 在Swift中已经废除}
三目运算符
// Swift 中的三目运算保持了和 OC 一致的风格let result = a > b ? a : bprint("result is \(result)")
双??表达式
// 双??表达式的优先级比较低,使用的时候最好加上小括号()var name: String? = "Jerry Yao"name = nil// 如果变量有值,则取其值,否则取问号后面的值print("name = \(name ?? "哈哈")") // name = 哈哈
for循环
// 在swift3.0中,这种写法已经不支持了// i++ --i这种写法也不再支持for var i = 0; i < 10; i++ { }// 遍历 [0, 10)for i in 0..<10 { print(i)}// 遍历 [0, 10]for i in 0...10 { print(i)}// 如果不关心循环的索引,可以使用 _ 忽略for _ in 0...10 { print("hello")}// 反序循环for i in (0..<10).reversed() { print(i)}
if let/var和guard let语句
override func viewDidLoad() { super.viewDidLoad() var name: String? = "Jerry Yao"// name = nil // if let语句, 判断非空 if let mName = name { print("yeah! \(mName)") } // guard let语句,如果为nil则return guard let yourName = name else { print("haha") // 如果name为nil,则执行该语句 return // 必须要return } // name不为nil,则继续往下执行 print("valid name, \(yourName)") }
阅读全文
0 0
- 条件和分支语句
- Python005条件分支语句
- 单分支条件语句
- 双分支条件语句
- Java条件判断语句和多分支语句
- vb.net条件分支语句
- Oracle中的条件分支语句
- 分支应用(条件语句)
- 单分支的条件语句
- 3.3 if 条件分支语句
- 分支,条件和循环
- java基础之 “if ”条件分支语句和switch开关语句
- java (复合语句,条件语句,多分支语句,跳转语句)
- Vb.net 中条件分支语句
- If条件分支语句的实现机制
- python的条件分支语句(if)
- 双分支的控制的条件语句
- 用于单分支控制的条件语句
- 【STL】uva 10905 Children's Game
- C++ 单例模式
- java实现哲学家进餐问题,及其死锁问题的解决
- Spark on YARN和MapReduce on YARN区别
- ubuntu-ssh no password
- 条件和分支语句
- excel使用技巧汇总
- 如何把一个数的位按四位进行相加
- 左值引用(&)以及右值引用(&&)(原创+转载)
- ACM-Classy
- 自定义布局某个点击区域
- 利用多线程编写多个客户端向服务器并发数据
- tinker(二)-使用TinkerPatch 平台-集成
- HDU 5726--GCD【倍增】【单调栈】【STL-map】