iOS开发Swift-基本运算符

1.一元、二元、三元运算符

|----|--------|-----------|
| 一元 | 单一操作对象 | -a !b c! |
| 二元 | 两个操作对象 | 2 + 3 |
| 三元 | 三目运算符 | a ? b : c |

2.赋值运算符(=)

复制代码
let a = 10
var b = 5
b = a
let (x, y) = (1, 2)

赋值运算符不返回任何值,所以 if x = y { ... } 无效。

3.算术运算符

    • * /

默认不允许数值运算中溢出。

溢出运算符: a &+ b

4.求余运算符

a % b = 余数

a = (b * 倍数) + 余数

所以a % b = a % -b

5.组合赋值运算

复制代码
var a = 1
a += 2     //a = a + 2

6.比较运算符

== != > < >= <=

===恒等 !==不恒等 用于判断两个对象是否引用自同一对象实例

返回布尔值。

元组比较:两元组的元素类型与长度都相等的元组即可比较。从左向右比较,如果前面的元素比较成功则不会再往后比较。

复制代码
(1, "a") < (2, "b")
(3, "a") < (3, "b")
(4, "d") == (4, "d")

7.空合运算符(??)

复制代码
a ?? b //相当于 a != nil ? a! : b
//a为option类型,b与a的存储值类型一致。a非空时对a进行强制解析,a为空时返回b。
//短路求值:a非空时不会再计算b

8.闭区间运算符

复制代码
a ... b  //a到b间所有的值。a<=b
1 ... 5  //1, 2, 3, 4, 5

9.半开区间运算符

复制代码
a ..< b   //适用于数组遍历, 0  ..< 数组长度
1 ..< 5   //1, 2, 3, 4

10.单侧区间

往一侧延申的区间

复制代码
[ 2... ]
[ ...2 ]

11.半开单侧区间

复制代码
[ ..<2 ]

12.逻辑运算符

|----------|---|------------|----------------------|------------------|
| !a | 非 | 相反 | | |
| a && b | 与 | 全true为true | 短路计算(a为false时不会再计算b) | 左结合(没有括号时从左往右计算) |
| a || b | 或 | 一true为true | 短路计算(a为true时不会再计算b) | 左结合 |

相关推荐
cmpxr_22 分钟前
【C】局部变量和全局变量及同名情况
c语言·开发语言
小碗羊肉1 小时前
【从零开始学Java | 第三十一篇下】Stream流
java·开发语言
aq55356002 小时前
Laravel10.x重磅升级,新特性一览
android·java·开发语言
报错小能手2 小时前
ios开发方向——swift错误处理:do/try/catch、Result、throws
开发语言·学习·ios·swift
网域小星球2 小时前
C 语言从 0 入门(十七)|结构体指针 + 动态内存 + 文件综合实战
c语言·开发语言·文件操作·结构体指针·动态内存·综合项目
aq55356003 小时前
三大编程语言深度对比:C# vs 易语言 vs 汇编
开发语言·汇编·c#
独特的螺狮粉3 小时前
云隙一言:鸿蒙Flutter框架 实现的随机名言应用
开发语言·flutter·华为·架构·开源·harmonyos
光泽雨3 小时前
c# 文件编译的过程
开发语言·c#
赤水无泪3 小时前
09 C++ 11 新增的标准
开发语言
格林威3 小时前
工业相机 SDK 在 Docker 容器中的部署与权限配置(含 USB/GigE)
开发语言·人工智能·数码相机·计算机视觉·docker·容器·工业相机