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章节中讨论。
和其他类型安全的例子一样,这样一来防止了意外的错误发生并且保证了代码目的的清晰性。