swift 基本运算符

来源:互联网 发布:java无限循环代码 编辑:程序博客网 时间:2024/05/18 01:56

空合运算符

空合运算符(a??b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b。表达式a必须是Optional类型。默认值b的类型必须要和a存储值的类型保持一致。

空合运算符是对以下代码的简短表达方法:

a != nil ? a! : b
上述代码使用了三目运算符。当可选类型a的值不为空时,进行牵制解封(a!),访问a中的值;反之返回默认值b。无疑空合运算符(??)提供了一种更为优雅的方式去封装条件判断和解封两种行为,显得简洁以及更具可读性。

下面就是采用空合运算符例子:

        let defaultColorName = "red"        var userDefinedColorName: String?         var colorNameToUse = userDefinedColorName ?? defaultColorName
userDefinedColorName变量被定义为一个可选的String类型,默认值为nil。由于userDefinedColorName是一个可选类型,我们可以使用空合运算符去判断其值。在上一个例子中,通过空合运算符为一个名为colorNameToUse的变量赋予一个字符串类型的初始值。由于userDefinedColorName值为空,因此表达式userDefinedColorName??defaultColorName返回defaultColorName的值,即red。如果userDefinedColorName非空,那么将会返回非空的数据。

区间运算符

闭区间运算符

闭区间运算符(a...b)定义一个包含从a到b的所有值的区间。a的值不能超过b。
 for index in 1...5{      print("\(index) * 5 = \(index * 5)") }

半开区间运算符

半开区间运算符(a..<b)定义一个从a到b但不包括b的区间。之所以称为半开区间,是因为该区间包含第一个值而不包含最后一个值。
 for index in 1..<5{      print("\(index) * 5 = \(index * 5)") }

取自《the swift programming language》

0 0
原创粉丝点击