美文网首页
1.6 分支选择

1.6 分支选择

作者: 八条8tiao | 来源:发表于2016-07-18 15:47 被阅读30次

我们并不希望只能写出逐行线性执行的程序。因为代码和人生一样,总会出现岔路口,我们常常需要在岔路口上做出抉择,左边还是右边?。对于人生的选择,swift可没提供什么帮助,但如果在程序当中做选择,swift可以已经为程序员们做好了准备。

1、if else分支选择

在程序设计的过程中,我们常常需要让一段代码在一定的条件下才执行。这时候我们就可以选择使用if关键字。我们先看一下if else关键字的语法描述。

首先是if关键字,后面是一个条件表达式,如果条件表达式为真,则执行第一段代码,否则执行第二段代码。使用ifelse可以轻松实现一个二元的分支选择。我们看一个简单的例子,在两个数中,选择一个大的打印输出。

var x = arc4random_uniform(100)   // x为100以内的随机数
var y = arc4random_uniform(100)   // y为100以内的随机数

if x > y {
    print(x)
} else {
    print(y)
}

其实我们通过if else的组合可以生成更复杂的,就像这样的.

if x > y {
    print(x)
} else if x == y {
    print(x)
} else {
    print(y)
}

这种冗长的表达方式并不是一种最好的选择,我们可以使用switch关键字来实现多路分支分支,不但在会产生更易读的代买结构,更重要的是switch可以提供更强劲的 模式匹配 能力。关于switch的模式匹配,可以看另外一篇内容 switch与模式匹配

2、switch case分支选择

switch可以帮我们做两个重要的工作,一个是描述所有的分支结构,另外一个是通过模式匹配,实现分支选择,我们可以认为if是通过条件表达式来进行分支选择的,而switch则是通过模式匹配进行分支选择,当然这并不是说switch不可以使用条件表达式哦,可以看另外一篇内容switch与模式匹配来了解switch如何使用条件表达式。我们先看下一switch的语法表达式。

匹配对象按照顺序依次与条件分支进行匹配,直到遇到一条可以匹配成功的分支后,执行该分支对应的代码。当代码执行完成以后,正常的流程就结束了。

let number = 3

switch number {
case 1:
    print("Monday")
case 2:
    print("Tuesday")
case 3:
    print("Wednesday")
case 4:
    print("Thursday")
case 5:
    print("Friday")
case 6:
    print("Saturday")
case 7:
    print("Sunday")
default:
    print("error")
}

这是一个非常简单的例子,把一个整数转化为星期的单词描述。其中常量 number 就是匹配对象。依次与每个分支进行匹配,最后执行print("Wednesday")后,switch语句结束。

swift默认为每个case语句添加了break,一但匹配成功并执行完分支对应的代码后,流程就会被break结束掉,如果我们希望无论是否匹配成功都要一次执行每个分支的匹配,那么我们可以使用fallthrough关键字来实现。

let number = 3

switch number {
case 3:
    print("Monday")
    fallthrough
case 4:
    print("Tuesday")
    fallthrough
default:
    print("error")
}

通过fallthrough,number会依次与每一个分支条件进行匹配,尽管第一个分支条件就已经完成匹配了。

相关文章

  • 1.6 分支选择

    我们并不希望只能写出逐行线性执行的程序。因为代码和人生一样,总会出现岔路口,我们常常需要在岔路口上做出抉择,左边还...

  • 04-IF条件语句

    程序执行流程 1-顺序结构 2-选择分支结构 3-循环结构 选择分支结构(单分支,双分支,多分支,分支嵌...

  • pycharm中使用git

    pycharm的merge 先切换分支到要合并到的分支, 选择现有内容的分支,选择merge into curre...

  • 1.6-Quartz大哥(Trigger分支)

    一.SimpleTrigger 作用:在某一指定时间段内执行一次作业任务,或者在指定的时间间隔内多次执行作业任务....

  • SourceTree常用操作 -- 1

    简介 新建 现有分支新建 新分支 分支 -> 新建新分支。 合并 某分支合并到当前分支 某分支上右键,选择“合并X...

  • 网站上线流程

    sz:将选定的文件发送(send)到本地机器一、添加分支 选择来源分支master、 选择来源分支feature/...

  • python(5):if语句------双分支与多分支选择结构

    1.双分支选择结构: if-else语句 双分支选择结构就是在if之后程序流程走向两个分支,一个分支处理条件表达式...

  • git合并到dev分支上的步骤以及常用的git命令

    1. 选择dev分支。 然后pull dev分支。 然后merge into 自己开发的分支。 然后在merge ...

  • SVN cornerstone 从分支同步到主干

    分支合并到主干上,步骤 1、选择主干,操作如下图 选择merge 2、选择需要合并的分支地址:如图; 3、下面列出...

  • 循环与分支

    流程控制 选择分支结构 C语言支持两种选择结构: 1.if选择分支结构(if判断语句) 也有if-else if ...

网友评论

      本文标题:1.6 分支选择

      本文链接:https://www.haomeiwen.com/subject/vpnpjttx.html