Swift学习笔记之---运算符
Posted 油醋三椒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift学习笔记之---运算符相关的知识,希望对你有一定的参考价值。
运算符
-
赋值运算符("=")用于值的传递,其结果是量值被赋了具体的值,相等运算符("==")则用于比较操作,其会返回一个Bool类型的逻辑值。
-
取余运算符("%")必须在整数间进行运算时使用
-
自增与自减运算符在Swift 2.0及之前版本可以使用,Swift 2.2版本后,基于代码可读性与减少歧义的考虑,移除了这两个运算符
-
Swift语言中逻辑运算(逻辑与运算符“&&”、逻辑或运算符“||”、逻辑非运算符“! ”)的操作数必须为严格的Bool类型
-
Swift中对于元组的比较操作,注意:首先要比较的元组中元素个数和对应位置的元素类型必须相同,其次元组中每一个元素必须支持比较运算操作。
-
条件运算符可以简化为:
var m = 3 var n = 6 if m > n { print("m>n") } else { print("m<n") } // 与上面结果相同 print(m>n ? "m>n":"m<n")
-
空合并运算符
可选值类型是Swift语言的一个独特之处,空合并运算符是针对可选类型而设计的运算符。首先来看一段示例代码:
var q: Int? = 8 var value: Int if q != nil { value = q! } else { value = 0 }
根据if语法简化,上面代码可写为:
var q: Int? = 8 var value: Int value = (q != nil)? q!:0
使用条件运算符改写后的代码变得十分简单,Swift语言中还提供了空合并运算符来更加简洁地处理这种Optional类型值的条件选择结果,空合并运算符由"??"表示,代码如下:
var q: Int? = 8 var value: Int value = q ?? 0
空合并运算符“? ? ”是一个二元运算符。其需要两个操作数,第一个操作数必须为一个Optional值,如果此Optional值不为nil,则将其进行拆包操作,并作为空合并运算的运算结果。如果此Optional值为nil,则会将第二个操作数作为空合并操作运算的结果返回。使用空合并操作符来处理有关Optional值的选择逻辑将十分方便。
-
区间运算符
在Objective-C语言中提供了NSRange这样一个结构体来描述范围,虽然直观了许多,但开发者在使用时需要构造NSRange实例,使用起来就略显繁琐。
Swift中除了支持Range结构体来描述范围外,还提供了一个区间运算符来快捷直观地表示范围区间,示例如下:
// 创建范围 >=0 且 <= 10 的闭区间 var range1 = 0...10 // 创建范围 >=0 且 <10 的半开区间 var range2 = 0...<10 可以通过**"~="运算符来检查某个数字是否包含于范围中**,示例如下: ```swift print(range1 ~= 8) // 输出true
以上是关于Swift学习笔记之---运算符的主要内容,如果未能解决你的问题,请参考以下文章
《从零开始学Swift》学习笔记(Day 10)——运算符是“ +-*/ ”吗?