《iOS移动开发从入门到精通》图书连载12:元组类型、一元、二元和三元运算符、 比较运算符
来源:互联网 发布:seo如何发外链 编辑:程序博客网 时间:2024/06/14 11:45
3.2.5 元组类型
元组是一个包含了若干个相关联变量的对象。
1 let people = ("John",33)
由于Swift的类型推导,people被推导为(String, Int)类型的常量。
元组作为一个临时复合值,元组在某些时候是非常有用的。它经常被用作函数返回值,用来传递一些数据。
例如一个用来获取网页的函数,可能会返回一个(Int, String)元组,用来描述是否获取成功。和只能返回一个类型的值比较起来,一个包含两个不同类型值的元组,可以让函数的返回信息更加有用:
1 let http404Error = (404,"Not Found")2 let http200Status =(statusCode:200, description:"OK")
从一个元组中单独取出某一个数据,有两种方式。第一种方式是使用下标:
1 let http404Error = (404,"Not Found")2 print("errorCode =\(http404Error.0)") // 输出结果为:errorCode = 404
第二种方式如下:
1 let http404Error = (404,"Not Found")2 let (errorCode, errorMessage) =http404Error3 print("errorCode =\(http404Error.0)") // 输出结果为:errorCode = 404
如果之前是按照键值对创建的元组,可以按照访问属性的形式来获取相关的值:
1 let people = (name:"John",age:33)2 print("People's name is\(people.name), and age is \(people.age).")
元组在临时组织数据的时候很有用,但是并不适合创建复杂的数据结构。如果你的数据结构并不是临时使用,请使用类或者结构体而不是元组。
3.2.6 一元、二元和三元运算符
运算符是一种特定的符号或表达式,用来检验、修改或合并变量。例如,用于求和的运算符+,可以对两个数字进行求和,还有逻辑运算符&&等等。
运算符都是一元、二元或三元的。其中一元运算符用于处理单个对象,一元前缀运算符出现在对象前,一元后缀运算符出现在对象的后面。
一元减号和加号
在一个数值的前面,添加的一个-减号,叫作一元减运算符。同样在数值前面添加的+加号,被称为一元加运算符,它们的用法如下:
1 let one = 12 let minusOne = -one //结果为:-13 let plusOne = +one //结果为:14 let anotherOne = -minusOne //结果为:1
一元逻辑非运算符
在数值的前面,添加!感叹号运算符,可以对逻辑数值进行逻辑非运算。
1 let isHero = false 2 let playerType = !isHero //结果为:true
请注意无论是减号、加号还是感叹号运算符,它们与右侧的数值之间不能有空格。
另外++递增和--递减等在Swift1.0版本中出现的一元运算符,在新版的Swift语言中已经被移除,这里就不再进行讲解。
二元运算符
二元运算符是用来对两个目标进行操作的,所以二元运算符常常出现在两个数值之间的位置。如常用的加、减、乘、除数学运算符:
1 3 + 2 //结果为:52 3 - 2 //结果为:13 3 * 2 //结果为:64 3 / 2 //结果为:1
余数运算符( x % y )可以求出多少个 y 的倍数能够刚好放进 x中,并且返回剩下的值,也就是余数。在Swift中您可以对正数、负数进行取余计算:
1 5 % 2 //结果为:12 -5 % 2 //结果为:-1
三元条件运算符
三元运算符拥有三个部分,它看起来是这样的:question ? answer1 :answer2。这是一种基于question是真还是假,来选择后面两个表达式之一的便捷写法。如果question是真,则会返回answer1,否则返回answer2。
1 let score = 662 let result = (score >= 60) ?"通过考核" : "未通过考核" //结果为:通过考核
三元条件运算符提供了一个非常有效的简写,以根据指定的条件作出相应的选择。
3.2.7 比较运算符
您会经常使用比较运算符,对两个数值进行比较,从而根据比较结果,进行相应的操作。Swift支持所有C语言的标准比较运算符。每个比较运算符都会返回一个Boolean值,来表示语句是否为真:
1 2 > 1 //结果为:true2 2 < 1 //结果为:false3 2 >= 1 //结果为:true4 2 <= 1 //结果为:false5 2 == 1 //结果为:false6 2 != 1 //结果为:true
比较运算符通常被用在if条件语句当中:
1 let workingAge = 182 if workingAge >= 153 {4 print("享受15天年假")5 }
拥有同样值数量的元组也可以进行比较,前提是元组中的值是可以比较的。元组以从左到右的顺序,进行值大小的比较,直到找到两个不相等的值为止。如果两个元组的所有值都相同,则两个元组被认为是相等的:
1 (2, 3) > (1, 3) //结果为:true2 ("Class1", 98) >("Class2", 54) //结果为:false3 (7, "Sunday") == (7,"Sunday") //结果为:true
初次写书,难免会有不足和纰漏,欢迎大家通过这个邮箱:coolketang@163.com
将你的意见和建议告诉我们,感谢!
关注我的微信公众号“酷课堂”,获取更多学习资源,欢迎留言交流。
- 《iOS移动开发从入门到精通》图书连载12:元组类型、一元、二元和三元运算符、 比较运算符
- 《iOS移动开发从入门到精通》图书连载18:函数作为参数和返回类型
- 一元,二元,三元运算符
- 运算符一元,二元,三元
- 《iOS移动开发从入门到精通》图书连载11:字符和字符串
- 《iOS移动开发从入门到精通》图书连载17:函数的定义和调用
- 【C#】—一元,二元,三元运算符
- 《iOS移动开发从入门到精通》图书连载2:如何成为一名iOS开发者
- 《iOS移动开发从入门到精通》图书连载4:iOS应用的生命周期
- 《iOS移动开发从入门到精通》图书连载7:iOS模拟器的使用
- 《iOS移动开发从入门到精通》图书连载5:Xcode 8的使用(上)
- 《iOS移动开发从入门到精通》图书连载8:Swift的基本概念(上)
- 《iOS移动开发从入门到精通》图书连载9:Swift的基本概念(下)
- 《iOS移动开发从入门到精通》图书连载15:数组
- 《iOS移动开发从入门到精通》图书连载16:字典
- 《iOS移动开发从入门到精通》图书连载19:函数的嵌套
- 《iOS移动开发从入门到精通》图书连载20:枚举
- 《iOS移动开发从入门到精通》图书连载10:布尔类型、Int类型及实例属性、浮点类型及实例属性
- 查找算法(3)、经典算法(8):从N个乱序数据中找出第K小的数
- Java中由Calendar类获取的月、天和小时的简单处理
- 产品经理成长之路(一)
- 一个老鸟发的公司内部整理的 Android 学习路线图 Markdown 版本
- NFile——基于Nodejs的文件系统
- 《iOS移动开发从入门到精通》图书连载12:元组类型、一元、二元和三元运算符、 比较运算符
- java命令模式的实际应用
- epoll总结
- HDU 2853 Assignment(最佳二分图匹配)
- 如何在Matlab中获取函数参数的数目?
- eclipse远程debug服务器项目
- USRP_N210R4 verilog代码分析一:gpio_atr模块
- Java知识点列表
- 【数据库SQL】批量更新促发器游标的方法