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

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)
          }
时间: 2024-09-26 15:42:16

Object-C---&gt;Swift之(三)nil合并运算符、范围运算符的相关文章

“现金选择权”两难济钢莱钢三启合并仍受阻

4月12日晚间,莱钢股份(600102.SH)和济南钢铁(600022.SH)第三次发布"吸收合并.定向增发"重组方案. 新方案较前方案较大的区别在于,其扩大现金选择权至全体股东,而之前的方案只是将现金选择权给予提出异议的股东.当日,停牌近两个月的莱钢股份和济南钢铁双双复牌后一字 涨停.这与第二次方案出炉时大幅跳水的市场表现有天壤之别. 已是三次更改的方案,此次能获得投资者的通过吗? 阻力显然仍旧存在.有券商研究员指出,尽管目前钢铁股走势良好,但如果二季度通胀压力继续增大,经济环境转空

Swift语法专题三——基础运算符

Swift解读专题三--基础运算符 一.引言          运算符是编程语言不可缺少的一个部分,Swift中除了支持C中的运算符外,还提供了一些更加强大的运算符功能,例如取余符%可以用来计算浮点数,另外新增了两种范围运算符.Swift中有3类运算符: 1.一元运算符 运算符作用于一个操作数,可以出现在操作数前或者操作数后. 2.二元运算符 运算符作用于两个操作数,出现在两个操作数中间. 3.三元运算符 运算符作用于三个操作数间. 二.赋值运算符         赋值运算符用=符号表示,用于初

Basic Operators Of Swift 2.1

原文出自:标哥的技术博客 前言 运算符是检查.改变或合并值的特殊符号或短语.例如:加号+将两个数相加.更复杂的运算例子包括逻辑与运算符&&或让i值加1的便捷自增运算符++i等. Swift支持大部分标准C语言的运算符,且改进许多特性来减少常规编码错误.例如:赋值符不返回值,以防止把想要判断相等运算符的地方写成赋值符导致的错误.算术运算符(+,-,*,/,%等)会检测并不允许值溢出,以此来避免保存变量时由于变量大于或小于其类型所能承载的范围时导致异常.当然允许你使用Swift的溢出运算符来实

Swift语法专题四——字符串与字符

Swift解读专题四--字符串与字符 一.引言         Swift中提供了String类型与Characters类型来处理字符串和字符数据,Swift中的String类型除了提供了许多方便开发者使用的方法外,还可以与Foundation框架的NSString类进行转换,使用起来十分方便. 二.String基础         在Swift中,使用双引号来定义字符串,开发者可以通过如下代码来创建一个字符串常量: let str = "Hello, playground" 可以通过

Swift语言指南(九) Swift语言的基本运算符

运算符(operator)是用来检查,改变或合并值的一种特殊符号或短语.例如,加号运算符让两个数字相加(如:let i = 1 + 2),还有些更复杂的运算符,如逻辑与运算符(&&)(如:if enteredDoorCode && passedRetinaScan)和自增运算符(++i)(将 i 的值加 1 的便捷写法). Swift 支持标准C语言的大多数运算符,并且改进了一些特性以规避常见的代码错误.赋值运算符(=)是没有返回值的,这样是为了避免在使用等于运算符(==)

Swift语法专题二——基本数据类型

Swift解读专题二--基本类型 一.常量和变量         Swift语言的常量和变量在使用之前,必须被定义.常量用于处理程序中只在初始化时设置的量值,之后不能进行赋值改变,变量用于处理程序中可以进行改变的量值.分别用let和var来声明常量和变量,示例如下: var varValue = 1 let letValue = 10 Swift语法也支持在一行中声明多个量值,示例如下: var a=1,b=2.9,c="string" 在声明量值时,编译器会根据第一次赋值的类型来推断

15个快速学习苹果Swift编程语言的入门教程

要说今年最火的编程语言是什么.那就非Swift莫属了.当然最主要还是市场炒的比较热,加上官方Swift教程<The Swift Programming Language>在北航的大三学生发起在github上进行协同翻译获得了很高的人气,短短几天时间内<Swift中文版>第一版就发布.这真是不火不行了. Swift是苹果公司在WWDC2014上发布的全新开发语言.从演示视频及随后在appstore上线的标准文档看来,语法内容混合了OC,JS,Python,语法简单,使用方便,并可与O

关于 Swift 编译时性能优化的一些思考

本文讲的是关于 Swift 编译时性能优化的一些思考, 上周,我读了 @nickoneill 一篇优秀的帖子 Speeding Up Slow Swift Build Times 之后,我发现用一个略不同以往的角度去读Swift代码,并不是很难. 一行之前很简洁的代码,现在却出现了新的问题--它是否应该重构为9行代码来达到更快的编译速度? (nil coalescing 运算符就是一个例子)孰轻孰重?简洁的代码还是对编译器友好的代码? 我觉得,它取决于项目的大小和开发者的想法. 但请等等...

Swift语言指南(九)--基本运算符

原文:Swift语言指南(九)--基本运算符 运算符(operator)是用来检查,改变或合并值的一种特殊符号或短语.例如,加号运算符让两个数字相加(如:let i = 1 + 2),还有些更复杂的运算符,如逻辑与运算符(&&)(如:if enteredDoorCode && passedRetinaScan)和自增运算符(++i)(将 i 的值加 1 的便捷写法). Swift 支持标准C语言的大多数运算符,并且改进了一些特性以规避常见的代码错误.赋值运算符(=)是没有返