类型转换 / BOOL 类型

/*

 Swift不允许隐式类型转换, 但可以使用显示类型转换(强制类型转换)

 OC:

 int intValue = 10;

 double doubleValue = (double)intValue;

 Swift:

 */

var intValue:Int = 10

var doubleValue:Double

doubleValue = Double(intValue)

// 注意:Double()并不会修改intValue的值, 而是通过intValue的值生成一个临时的值赋值给doubleValue

print(intValue)

print(doubleValue)

/*

 C语言和OC并没有真正的Bool类型

 C语言的Bool类型非0即真

 OC语言的Bool类型是typedef signed char BOOL;

 Swift引入了真正的Bool类型

 Bool true false

 */

let isOpen = true

// let isOpen = 1;

// Swift中的if的条件只能是一个Bool的值或者是返回值是Bool类型的表达式(==/!=/>/<等等)

// OC中if可以是任何整数(非0即真), 但是存在的问题是可能将判断写错, 写成赋值 if(isOpen = 2), 在开发中为了避免这个问题有经验的程序员会这样写 if(2 == isOpen) 来避免这个问题. 在Swift中很好的解决了这个问题

if isOpen

{

    print("打开")

}else

{

    print("关闭")

}

原文地址:https://www.cnblogs.com/lurenq/p/7364127.html