Swift有一个基本的布尔类型,称为Bool。 布尔值被称为逻辑,因为它们只能是true或false。 Swift提供了两个布尔常量值:true和false:
let orangesAreOrange = true
let turnipsAreDelicious = false
orangesAreOrange和turnipsAreDelicious的类型已被推断为Bool,因为它们是使用布尔文字值初始化的。 与Int和Double一样,如果您在创建常量或变量时将其设置为true或false,则不需要将常量或变量声明为Bool。当它用类型已知的其他值初始化常量或变量, 类型推理有助于使Swift代码更简洁和可读。
当使用条件语句(如if语句)时,布尔值特别有用:
if turnipsAreDelicious {
print("Mmm, tasty turnips!")
} else {
print("Eww, turnips are horrible.")
}
// Prints "Eww, turnips are horrible."
Swift的类型安全性防止非布尔值替代Bool。 以下示例报告编译时错误:
let i = 1
if i {
// this example will not compile, and will report an error
}
但是,以下的替代示例是有效的:
let i = 1
if i == 1 {
// this example will compile successfully
}