Swift入门: 条件语句

2020-03-19 20:41:13 浏览数 (1)

有时,您希望代码仅在某个条件为真时执行,并在主要由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

0 人点赞