Swift提供了基础的布尔值类型,Bool,布尔值也是逻辑值因为它只能为真或者为假,Swift提供了两个布尔值常量true和false:
let orangesAreOrange = true
let turnipsAreDelicious = false
orangesAreOrange 和 turnipsAreDelicious 被推测为布尔类型是因为它们被布尔值初始化。和Int, Double一样只要在最初声明的时候用布尔值进行初始化,是不需要明确的去声明其布尔类型的。类型推测使得代码更加的简洁,易读。
布尔值在条件语句的使用中非常有用,比如if语句:
if turnipsAreDelicious {
println("Mmm, tasty turnips!")
} else {
printIn("Eww, turnips are horrible.")
}
// prints "Eww, turnips are horrible.
if语句会在Control Flow章节中详细探讨。
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
}
i == 1 的比较结果是Bool类型,因此可以在该例子中使用,类似 i == 1 比较会在Basic Operators章节中讨论。
和其他类型安全的例子一样,这样一来防止了意外的错误发生并且保证了代码目的的清晰性。