Swift2-0基础_ControlFlow(控制流)
来源:互联网 发布:nginx 远程无法访问 编辑:程序博客网 时间:2024/05/24 04:52
import Foundationprint("Hello, World!")// 控制流/* Swift 提供了类似 C 语言的流程控制结构, 包括可以多次执行任务的 for 和 while 循环, 基于特定条件选择执 行不同代码分支的 if 、 guard 和 switch 语句, 还有控制流程跳转到其他代码的 break 和 continue 语句。 除了 C 语言里面传统的 for 循环,Swift 还增加了 for-in 循环,用来更简单地遍历数组(array),字典(dic tionary),区间(range),字符串(string)和其他序列类型。 Swift 的 switch 语句比 C 语言中更加强大。 在 C 语言中,如果某个 case 不小心漏写了 break ,这个 case 就 会贯穿至下一个 case,Swift 无需写 break ,所以不会发生这种贯穿的情况。 case 还可以匹配更多的类型模式,包括区间匹配(range matching),元组(tuple)和特定类型的描述。 switch 的 case 语句中匹配的值可以是由 case 体内部临时的常量或者变量决定,也可以由 where 分句描述更复杂的匹配条件*/// 循环for var i = 0; i<5; i++ { }var set : Set = [1,2,3]for item in set { }let condition = truewhile condition { }// while 循环的另外一种形式是 repeat-while ,它和 while 的区别是在判断循环条件之前,先执行一次循环的代码块,然后重复循环直到条件为 false// 类似于 do-whilevar num = 1repeat { print("yes")} while num == 1// 条件if num == 1 { print("lalalala")} else { }switch num {case 1: print("1") fallthrough // 贯穿case 2: breakcase 3: breakcase 0..<2: breakdefault: break}// 提前退出/* 像 if 语句一样, guard 的执行取决于一个表达式的布尔值。我们可以使用 guard 语句来要求条件必须为真时,以执行 guard 语句后的代码。 不同于 if 语句,一个 guard 语句总是有一个 else 分句,如果条件不为真则执 行 else 分句中的代码*/let defaultNum = 1func greet() { guard num == defaultNum else { // ... return }}// 检测 API 可用性/* 可用性条件指定了在 iOS 系统上, if 段的代码仅会在 iOS 9 及更高版本的系统上执行; 在 OS X,仅会在 OS X v10.10 及更高版本的系统上执行。 最后一个参数, * ,是必须写的,用于处理未来潜在的平台*/if #available(iOS 9, *) { // 在 iOS 使用 iOS 9 的API} else { // 使用先前的版本的接口}
0 0
- Swift2-0基础_ControlFlow(控制流)
- swift2 控制流
- 问答Swift2.0-基础部分
- Swift2-0基础_String(字符串)
- Swift2-0基础_CollectionType(集合)
- Swift2-0基础_Functions(函数)
- Swift2-0基础_Enumerations(枚举)
- Swift2-0基础_Properties(属性)
- Swift2-0基础_Methods(方法)
- Swift2-0基础_Inheritance(继承)
- Swift2学习:Swift概览2-控制流
- Swift2-0基础_Closures(闭包)
- Swift2-0基础_Subscripts(下标脚本)
- Swift2-0基础_Initialization(构造过程)
- Swift2-0基础_Deinitialization析构过程
- 《swift2.0 官方教程中文版》 第2章-05控制流
- swift2.0
- Swift2.2 学习笔记(二) ___控制流
- java爬虫 之 搜狐新闻爬虫(二)
- Python递归遍历目录下所有文件
- Swift2-0基础_CollectionType(集合)
- Linux内核态与用户态
- 利用单链表实现栈
- Swift2-0基础_ControlFlow(控制流)
- Linux Shell 脚本调试总结
- Toxophily
- CountDownLatch详解
- 一个爸爸每月要赚多少钱,才能撑起一个家?
- hdu4548 欧拉筛法 离线处理线性优化
- android:inputType常用取值
- 数据结构——单链表的基本操作
- php curl_init函数用法