xcode
Swift语法中最常见的if-else语法形式:// if语句和其他任何语言中的一样,当条件为true的时候执行// 使用系统定义的随机数函数,产生0~9之间的整数let random = arc4random_uniform(10)if random < 5 { print('random = \(random),小于5')} else { print('random = \(random),大于等于5')}
上面的if-else比其他语法是不是少了括号呢?其实,在Swift语法中,if后面可以加括号,也可以不加。就像语句结尾可以使用分号,也可以不用分号是一样的// Swift语法中,语句结尾的分号可以省略,if后面的括号也可以省略let random = arc4random_uniform(10);if (random < 5) { print('random = \(random),小于5');} else { print('random = \(random),大于等于5');}
但是,在swift语法中,if后面的大括号是不能省略的,即使大括号中只有一行语句,也是必须要有的,例如,上面的语句,去掉大括号,编译器就会报错// Swift语法中,if后面的大括号不能省略,即使大括号中只有一条语句let random = arc4random_uniform(10);if (random < 5) print('random = \(random),小于5');else print('random = \(random),大于等于5');
Swift语法中也是有三目运算符的,使用方式和其他语法中的一样。上面的if-else可以改写成下面的三目运算符形式:let random = arc4random_uniform(10);// Swift语法中,也是有三目运算符的,使用跟其他语法一样random > 5 ? print('random = \(random),小于5') : print('random = \(random),大于等于5');// 上面的语句和下面的是等效的print(random > 5 ? 'random = \(random),小于5' : 'random = \(random),大于等于5')
在if语句中,很多时候一个条件可能不能满足需求,当需要多个条件时,在if后面加个逗号,接着写条件就行了// 当需要满足两个条件都不为nil,才执行的时候,就这样写if let color = color, let color2 = color2 { print('外面的color值不为nil,color = \(color), color2 = \(color2)')}
如果除了判断两个条件变量不为nil,还要判断两个条件变量的值相等,这种情况就需要使用双等号了// 当需要满足两个条件都不为nil,且两个条件值相等,才执行的时候,就这样写if let color = color, let color2 = color2, color == color2 { print('外面的color值不为nil,color = \(color), color2 = \(color2)')}else{ print('color = \(color), color2 = \(color2),两个变量值不相等')}