前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swift入门: Switch case

Swift入门: Switch case

作者头像
韦弦zhy
发布2020-03-19 20:48:07
6110
发布2020-03-19 20:48:07
举报
\color{red}{\Huge \mathtt{SWIFT}}
\color{red}{\Huge \mathtt{SWIFT}}
\color{orange}{\Large \mathbf{Switch \ case}}
\color{orange}{\Large \mathbf{Switch \ case}}
\underline{\color{#3399CC}{\large \mathit{Switch \ case}}}
\underline{\color{#3399CC}{\large \mathit{Switch \ case}}}

您已经看到了if语句和循环,但是Swift有另一种类型的流控制,称为switch/case。这是最容易认为这是一个先进的形式,如果,因为你可以有很多匹配和Swift将执行正确的一个。

switch/case的最基本形式中,您告诉Swift您要检查哪个变量,然后提供该变量的可能情况列表。Swift将找到与变量匹配的第一个case,然后运行它的代码块。当该块完成时,Swift退出整个switch/case块。

下面是一个基本示例:

代码语言:javascript
复制
let liveAlbums = 2

switch liveAlbums {
case 0:
    print("You're just starting out")

case 1:
    print("You just released iTunes Live From SoHo")

case 2:
    print("You just released Speak Now World Tour")

default:
    print("Have you done something new?")
}

我们本可以使用很多ifelse if块来编写它,但这种方法更清楚,这很重要。

switch/case的一个优点是,Swift将确保您的案例是详尽无遗的。也就是说,如果你的变量可能有一个你不检查的值,Xcode将拒绝构建你的应用程序。

在值是有效开放的情况下,比如liveAlbums整数,您需要包含一个default大小写来捕获这些潜在值。是的,即使你“知道”你的数据只能在一定的范围内,Swift希望绝对确定。

Swift可以对case语句应用一些求值,以便与变量匹配。例如,如果要检查可能值的范围,则可以使用以下闭合范围运算符:

代码语言:javascript
复制
let studioAlbums = 5

switch studioAlbums {
case 0...1:
    print("You're just starting out")

case 2...3:
    print("You're a rising star")

case 4...5:
    print("You're world famous!")

default:
    print("Have you done something new?")
}

有一件事你应该知道,Swift中的switch/case块可能不会像你看到的其他语言那样(fall through: 从一个case运行完后直接到下一个case继续运行)。如果你习惯在你的case块中写break,你应该知道Swift不需要这个。

相应的,您需要使用fallthrough关键字使一个case落入下一个case。当然,如果你不知道这些是什么意思,那就更好了:别担心!

本文来自Hacking with Swift给swift初学者的入门课程Swift for Complete Beginners Switch case

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档