Swift教程(五)--控制流

2019-07-31 09:59:32 浏览数 (1)

本次的教程是基于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 代码块,并且它允许你保留在需求之后处理危险的需求。

有兴趣的或者是不太理解的小伙伴可以自行查阅相关的文档,这里就不做展开和拓展了,都是一些比较简单的语法形式。

0 人点赞