📅  最后修改于: 2023-12-03 15:05:26.003000             🧑  作者: Mango
if语句是Swift中最基本的控制流结构之一,也是所有编程语言中最常用的结构之一。if语句基于条件来决定是否执行一段代码。
if语句的基本语法如下:
if condition {
// 语句
}
condition
是一个表达式,它必须是一个布尔类型,即 true
或 false
condition
的值为 true
,那么将执行花括号中的代码condition
的值为 false
,那么将直接跳过花括号中的代码。if condition {
// 语句
} else {
// 语句
}
condition
的值为 true
,那么将执行第一个花括号中的代码condition
的值为 false
,那么将执行第二个花括号中的代码。if condition1 {
// 语句
} else if condition2 {
// 语句
} else if condition3 {
// 语句
} else {
// 语句
}
condition1
的值为 true
,那么将执行第一个花括号中的代码condition1
的值为 false
,那么将继续判断 condition2
,如果为 true
,那么执行第二个花括号中的代码condition2
的值也为 false
,那么将继续判断 condition3
,以此类推condition
的值都为 false
,那么将执行最后一个 else
中的代码。if 语句和可选类型一起使用时,可以通过 if let
或 if var
来判断可选类型是否有值。
var optionalInt: Int? = 3
if let nonOptionalInt = optionalInt {
// nonOptionalInt 是一个非可选类型的整数
print("optionalInt 有值,它的值是 \(nonOptionalInt)")
} else {
print("optionalInt 为 nil")
}
optionalInt
有值(即不为 nil
),那么 if let
结构将自动解包并将 optionalInt
的值赋给 nonOptionalInt
,因此 nonOptionalInt
将是一个非可选类型的整数。optionalInt
为 nil
,那么条件 if let
将不成立,代码将执行 else
中的语句。使用空合并运算符可以在一个可选类型的值为 nil
时,返回一个默认值。
let optionalValue: Int? = nil
let result = optionalValue ?? 0 //如果 optionalValue 为 nil,那么 result 的值为 0
Swift 中的三目运算符 condition ? true : false
可以用于简化 if-else 结构。
var a = 5
var b = 10
var c = a > b ? a : b //c 的值为 b,因为 a > b 的值为 false
这里的 condition
是 a > b
,如果 condition
的值为 true
,那么 c
的值将是 a
,否则 c
的值将是 b
。这段代码与以下 if-else 结构的作用相同:
var a = 5
var b = 10
var c: Int
if a > b {
c = a
} else {
c = b
}