布尔类型

2018-02-25  本文已影响0人  伍哥___

Swift有一个基本的布尔(Boolean)类型,叫做 Bool。布尔指逻辑上的值,因为他们只能是真或者假。Swift有两个布尔常量,truefalse

let orangesAreOrange = true
let turnipsAreDelicious = false

orangesAreOrangetrunipsAreDelicious 的类型会被推断为 Bool,因为它们的初始值是布尔字面量。就像之前提到的 IntDouble 一样,如果你创建变量的时候给它们赋值 true 或者 false,那你不需要将常量或者变量声明为 Bool 类型。初始化常量或者变量的时候如果所赋的值类型已知,就可以触发类型推断,这让Swift代码更加简洁并且可读性更高。

当你编写条件语句比如 if 语句的时候,布尔值非常有用:

if turnipsAreDelicious {
    print("Mmm, tasty turnips!")
} else {
    print("Eww, turnips are horrible.")
}
// 输出 Eww, turnips are horrible.

如果你在需要使用 Bool 类型的地方使用了非布尔值,Swift的类型安全机制会报错。下面的例子会报告一个编译时错误:

let i = 1 
if i  {
    // 这个例子不会通过编译,会报错
}

然而,下面的例子是合法的:

let i = 1 
if i == 1 {
    // 这个例子会编译成功
}

i == 1 的比较结果是 Bool 类型,所以第二个例子可以通过类型检查。

和Swift中的其他类型安全的例子一样,这个方法可以避免错误并保证这块代码的意图总是清晰的。

上一篇下一篇

猜你喜欢

热点阅读