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

Swift入门: 条件语句

作者头像
韦弦zhy
发布2020-03-19 20:41:13
7370
发布2020-03-19 20:41:13
举报
\color{red}{\Huge \mathtt{SWIFT}}
\color{red}{\Huge \mathtt{SWIFT}}
\color{orange}{\Large \mathbf{条件语句}}
\color{orange}{\Large \mathbf{条件语句}}
\underline{\color{#3399CC}{\large \mathit{Conditional \ Statement}}}
\underline{\color{#3399CC}{\large \mathit{Conditional \ Statement}}}

有时,您希望代码仅在某个条件为真时执行,并在主要由ifelse语句表示的Swift中执行。您给Swift一个要检查的条件,然后给它一个要在该条件为真时执行的代码块。

您还可以选择编写else并提供一个代码块,以便在条件为false时执行,或者甚至在条件为且具有更多条件时执行。代码的“块”只是一个代码块,它的开头用一个大括号{标记,结尾用一个小括号}标记。

下面是一个基本示例:

代码语言:javascript
复制
var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
}

使用前面介绍的==(相等)运算符检查person中的字符串是否与字符串“hater”完全等效。如果是,则将action变量设置为“hate”。请注意,open和close大括号,也被称为“花括号”(curly brackets),它标记在条件为true时将要执行的代码的开始和结束。

让我们添加else ifelse块:

代码语言:javascript
复制
var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
} else if person == "player" {
    action = "play"
} else {
    action = "cruise"
}

这将按顺序检查每个条件,并且只执行其中一个块:一个人要么是仇恨者,要么是玩家,要么是其他任何人。

判断多个条件

您可以要求Swift对任意多个条件进行求值,但它们都必须为真,以便Swift执行代码块。要检查多个条件,请使用&&运算符–它的意思是“与”。例如:

代码语言:javascript
复制
var action: String
var stayOutTooLate = true
var nothingInBrain = true

if stayOutTooLate && nothingInBrain {
    action = "cruise"
}

因为stayOutTooLatenothingInBrain都是真的,所以整个情况都是真的,而action被设置为“cruise”。Swift使用一种叫做短路径(short-circuit)评估的方法来提高性能:如果它判断的是多个都需要是真的东西,而第一个是假的,那么它甚至不需要判断其他的东西。

寻找真相的反面

这听起来很有哲理性,但事实上这很重要:有时你关心一个条件是否不正确,即是否错误。你可以用这个(非)前面介绍的运算符。例如:

代码语言:javascript
复制
if !stayOutTooLate && !nothingInBrain {
    action = "cruise"
}

这一次,动作变量将只在stayOutTooLatenothingIngBrain都为false时设置——!把它们翻了个底朝天。

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

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 判断多个条件
  • 寻找真相的反面
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档