Swift之Boolean

Swift有一个叫Bool的基础布尔类型。布尔值也被称为逻辑值,因为从来它们的值只是ture或者false。Swift提供了两个布尔常量,true和false:

       let orangesAreOrang = true

       let turnipsAreDelicious = false

orangesAreOrange和turnipsAreDelicious的类型为布尔型实际上是由它们初始化的字面量值推断出来的。和之前的Int和Double一样,如果你在一创建它们时就为它们设置一个ture或false时就不需在要声明时指明它们为一个Bool。类型推断能帮助Swift的代码更简洁可读,当通过其它值来初始化一个常量或变量时其类型实际上已经知道了。布尔值在条件语句中时特别有用,比如if条件:

     if turnipsAreDelicious{

          println("Mmm, tasty turnips!")

     }else{

          println("Eww, turnips are horrible.")

     }

     //  打印出 "Eww,turnips are horrible"

条件语句比如if条件语句的更多详细信息在"Swift之控制流"小节中说明。

Swift的类型安全阻止了非布尔值来代替布尔值。下边这个例子会报出一个编译时错误:

       let i =1

       if i {

           //  这个例子将不能被编译,并且报出一个错误

       }

然而,替代为下边这个例子将会被通过:

    let i =1

    if i==1{

          // 这个例子将会成功的编译通过

    }

i==1 比较的结果是一个布尔类型,所以第二个例子能通过类型检测,像i==1这样的比较将在"Swift之基础操作运算"小节中详细讨论。

结合其它的Swift类型安全例子,这更能避免意外的错误和保证特定的代码更清晰。

 

posted on 2015-04-09 22:16  empty_cup  阅读(790)  评论(0编辑  收藏  举报

导航