Object-C--->Swift之(三)nil合并运算符、范围运算符

简介: nil合并运算符在Swift中引入一种新的运算符nil合并运算符:??,它的格式如下: let c = a??b 它的含义如下:判断可选变量a是否为nil,如果a不为nil,c就等于a所包装的真实值,如果a为nil,则程序会返回b的值。

nil合并运算符

在Swift中引入一种新的运算符nil合并运算符:??,它的格式如下:

              let c = a??b 

它的含义如下:判断可选变量a是否为nil,如果a不为nil,c就等于a所包装的真实值,如果a为nil,则程序会返回b的值。

注意这里有两个必须条件:

1. a必须是可选类型的。
2. b的类型必须要和a的强制解析后的类型一致。

其实上边的代码还可以转换成C语言的三目运算:

            let c = a != nil ? a! : b 

范围运算符

SWift不仅引入了nil合并运算符,更是引入了两个新的范围运算符

                 闭范围运算符
                 半开范围运算符

闭范围运算符a…b是这样定义的,它表示的范围是a到b所包含的所有值(包括a、b边界值)。注意a不能大于b,这样会报错的。

             let number=2...8
             for num in number
           {
             print(num)
           }

半开范围运算符是表示a到b所包含的所有值(包括a的值,但不包括b的值),这里依旧注意a不能大于b。

            a..<b
           let number=2..<8
           for num in number
          {
           print(num)
          }
相关文章
|
23天前
|
Java 编译器 Swift
Swift 运算符
10月更文挑战第25天
26 0
|
6月前
|
数据处理 Swift
【Swift 开发专栏】Swift 中的运算符与表达式
【4月更文挑战第30天】Swift编程中的运算符和表达式是构建程序逻辑的核心。主要运算符包括算术(+,-,×,÷,%)、关系(==,!=,&gt;,&lt;,&gt;=,&lt;=)、逻辑(&&,||,!)、位(&,|,^,~,&lt;&lt;,&gt;&gt;)和赋值(=,+=等)运算符。表达式分为算术、关系、逻辑、位和赋值类型,用于数学计算、条件判断、位操作、变量赋值及复杂逻辑。熟练掌握这些基础知识对编写高效代码至关重要。
51 1
|
6月前
|
前端开发 Java 编译器
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
Object c/swift,java,c/c++在32位和64位各个平台上基本数据类型 所占有的字节数
49 0
|
6月前
|
JavaScript 前端开发
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
js基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。具体案例使用演示
78 1
|
6月前
|
JavaScript 前端开发
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
JavaScript基础语法:包括变量声明、数据类型(Number, String, Boolean, Null, Undefined, Symbol, Object)、运算符、流程控制语句(if...else, switch, for, while, do...while)等。
68 0
|
存储 Swift 索引
11 Swift运算符
Swift运算符
75 0
|
Swift
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
Swift - pods中导入的Object-C文件在桥接文件中写入找不到的问题
152 0
|
存储 Swift
Swift实用小册25: 高级运算符之位运算符的使用
在本章中,你将学会高级运算符的位运算符的使用方法。
247 0
Swift实用小册25: 高级运算符之位运算符的使用
|
前端开发 Swift
Swift实用小册02:运算符的使用
Swift实用小册02:运算符的使用
202 0
Swift实用小册02:运算符的使用
|
存储 Go Swift
Swift5.0 - day6-错误处理、泛型、高级运算符
Swift5.0 - day6-错误处理、泛型、高级运算符
134 0
Swift5.0 - day6-错误处理、泛型、高级运算符