本次的教程是基于Swift5.1版本
Swift 提供所有多样化的控制流语句。包括 while 循环来多次执行任务;if , guard 和 switch 语句来基于特定的条件执行不同的代码分支;还有比如 break 和 continue 语句来传递执行流到你代码的另一个点上。相信有编程基础的小伙伴们都不陌生了,这一章节就不做过多的阐述了。
下面罗列了swift中的控制流的一些关键字:
- For-in 循环
- While 循环
- Repeat-While
- If
- Switch
- Where
- continue
- break
- fallthrough
- return
- throw
- guard
guard 语句,类似于 if 语句,基于布尔值表达式来执行语句。使用 guard 语句来要求一个条件必须是真才能执行 guard 之后的语句。与 if 语句不同, guard 语句总是有一个 else 分句—— else 分句里的代码会在条件不为真的时候执行。
例如:
代码语言:javascript复制func guardString(name:String){
guard name.count > 0 else {
print("输入name为空")
return
}
print("guardString==(name)")
}
guardString(name: "")
//输出:输入name为空
如果 guard 语句的条件被满足,代码会继续执行直到 guard 语句后的花括号。任何在条件中使用可选项绑定而赋值的变量或者常量在 guard 所在的代码块中随后的代码里都是可用的。
如果这个条件没有被满足,那么在 else 分支里的代码就会被执行。这个分支必须转移控制结束 guard 所在的代码块。要这么做可以使用控制转移语句比如 return , break , continue 或者 throw ,或者它可以调用一个不带有返回值的函数或者方法,比如 fatalError() 。
相对于使用 if 语句来做同样的事情,为需求使用 guard 语句来提升你代码的稳定性。它会让正常地写代码而不用把它们包裹进 else 代码块,并且它允许你保留在需求之后处理危险的需求。
有兴趣的或者是不太理解的小伙伴可以自行查阅相关的文档,这里就不做展开和拓展了,都是一些比较简单的语法形式。