Swift语法专题三——基础运算符
运算符是编程语言不可缺少的一个部分,Swift中除了支持C中的运算符外,还提供了一些更加强大的运算符功能,例如取余符%可以用来计算浮点数,另外新增了两种范围运算符。Swift中有3类运算符:
1.一元运算符
运算符作用于一个操作数,可以出现在操作数前或者操作数后。
2.二元运算符
运算符作用于两个操作数,出现在两个操作数中间。
3.三元运算符
运算符作用于三个操作数间。
二、赋值运算符赋值运算符用=符号表示,用于初始化或者更新一个量值,示例如下:
//将字符串“hello world” 赋值给变量str var str = "Hello, world" //更新变量str的值 str = "new value"
如果赋值运算符的右边是一个元组,其也可以将元组进行分解赋值,示例如下:
//对元组进行分解赋值 var (x,y) = (1,2)
与C与Objective-C不同,Swift的中赋值运算符并不会返回一个值,很多初学者在进行if语句的使用时,经常会犯的一个错误就是将赋值运算符当做等于运算符来使用,这些错误在Swift语言中都将被避免,因为如果在if语句的判断条件中使用的是赋值运算符,编译器将会直接抛出错误。
三、算术运算符Swift中支持的基础的算数运算符有7种,加(+)、减(-)、乘(*)、除(/)、取余(%)、正号(+)、负号(-)。Sring类型的数据是支持通过+运算符来进行拼接的,示例如下:
var newStr = "hello"+"world"
Swift中的%运算符比Objective-C更加强大,其除了支持整数的取余操作外,还可以支持浮点数的取余操作,示例如下:
var value1 = 10%3 //余数1 var value2 = -10%3 //余数-1 var value3 = 10%4.5 //余数1 var value4 = -10%4.5 //余数-1
对于正号和负号操作符也被称为一元加操作符与一元减操作符,一元减操作符会改变数据的正负性,一元加操作符只会返回数值本身,并没有做任何操作,示例如下:
var tmp = -3; +tmp//-3 -tmp//3
四、复合赋值运算符
Swift中提供了将一个算术运算符与赋值运算符结合使用的复合赋值功能,示例如下:
tmp+=3 //tmp = tmp +3 tmp-=3 //tmp = tmp -3 tmp*=3 //tmp = tmp *3 tmp/=3 //tmp = tmp /3 tmp%=3 //tmp = tmp %3
五、比较运算符
Swift支持Objective-C中所有的比较运算符,比较运算符将会返回一个Bool类型的值:
1==2 //等于比较 1 2 //小于比较 1 2 //大于比较 1 != 2 //不等于比较 1 =2 //小于等于比较 1 =2 //大于等于比较
除了上面列举出的6种比较运算符外,Swift中还提供了两个特殊的比较运算符===和!==,这两个比较运算符用于比较引用是否相同。
Swift中的元组也可以进行比较,但是其有两个前提需要注意:
1.元组中元素的个数相同且对应位置的元素类型相同。
2.元组中的元素可以进行比较操作。
当元组进行比较时,按元素顺序进行逐个比较,直道某个元素比较出结果后作为元组的比较结果。
(1,"123") (0,"234") //true (1,"123") (1,"456") //false
三元运算符可以理解为一个简写的if else 语句,示例如下:
var a = 1 2 ? 1:2 //如果1 2成立 a=1 a=2
六、空聚合运算符
空聚合运算符也是Swift语言中独有的一个运算符,其设计的思路是基于更加方便的使用Optional值的目的。对于Optional类型的值,开发者一般会需要使用?进行可选拆包或者!进行强制拆包来获取其原始值,空聚合运算符??提供了更加使用的方式,示例如下:
var Op1:String? var Op2:String? = "123" //这个表达式将返回Op2 其意义是 如果Op1不为nil,则对其进行强制拆包 将值返回,如果为nil,则返回Op2 var realStr = Op1 ?? Op2 //上面的表达式和下面这个表达式意义相同 Op1 != nil ? Op1! : Op2
七、区间运算符
Swift中还提供了区间运算符,在for-in循环中,区间运算符会被经常使用到,示例如下:
//a...b为闭区间写法 for index in 0...3 { print(index) //a.. b为左闭右开区间 for index in 0.. 3 { print(index) }
八、逻辑运算符
Swift中支持与 、或||、非!三种逻辑运算符,逻辑运算符只能操作Bool值,示例如下:
var one = true var two = false one two //false one||two //true !one //false
Swift鲜为人知的特性:~=运算符是什么? 云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! Swift运算符中的~=算不上出名,很多人并不清楚它是做什么的,该如何运用。简而言之,使用这个运算符,可以查看一个范围是否包含某个值。
相关文章
- 数据库最常用的 8 种基础语法
- Shell 编程语法基础
- jquery.tmpl 基础用法
- JSP基础入门
- python基础系列教程——python基础语法全解
- python基础语法个人笔记_python基础题库
- jmespath(1)基础语法
- spring中文文档下载_spring基础包
- XSS跨站脚本攻击基础
- mysql基础[运维专题]
- Web-html基础标签
- NAT网络地址转换_路由交换基础
- TypeScript查漏补缺(基础类型)
- Python基础语法-基本数据类型-元组(一)
- Python基础语法-基本数据类型-元组(二)
- Python基础语法-函数-函数的参数(一)
- Python基础语法-内置函数和模块-常用内置函数(二)
- 使用jqMobi开发app基础:登录页面的实现详解手机开发
- Java基础学习笔记九 Java基础语法之this和super详解编程语言
- 学习Linux命令:解锁基础技能(基本的linux命令)
- SQL Server 基础语法入门(sqlserver的语法)
- 构建可靠基础:阿里云RDS MySQL(阿里云rds mysql)
- 明晚8点丨网商银行基础技术架构部负责人蒋易民:我们是如何率先上云、长于云端的?
- WMLScript的语法基础
- PHP5操作MySQL数据库基础代码
- javascript学习基础笔记之DOM对象操作
- JavaScript高级程序设计(第3版)学习笔记2js基础语法
- Go语言入门教程之基础语法快速入门