赋值、算数、位运算
赋值运算符 = += -= *= /= ...
Swift中 = 运算符本身不返回值了,即 if a = b 会报错。
加减乘除
Swift对加法运算进行了类型扩展,支持字符串和字符串的链接
var s1 = "今天"
let s2 = "天气不错"
s1 = s1 + s2
print(s1)
Swift对除法运算增强了”0”的使用安全,即除0会报错
Swift增加了溢出运算符 &,即溢出时获得极限值,如:
var value:UInt8 = UInt8.max
print("\(value&+1)”) //255
value = UInt8.min
print("\(value&-1)”) //0
Swift对于取余运算,扩展了负整数、浮点数的取余运算
自变运算符、负数运算符: 和C语言的一样
位运算符:& | ~ ^ >> << 和C语言一样
区间运算符
Swift增加了对区间运算符的支持
闭区间: a…b 表示从a到b且包含b在内
半开区间:a..<b 表示a到b但不包含b在内
主要用于分支循环语句当中,如:
for index in 10..<15 {
print(index) //10 11 12 13 14
}
逻辑、关系
关系运算符: == != > < >= <=
逻辑运算符: && || !
三目运算符:? :
这些运算符保持C语言的用法
空合运算符: ??,是对三目运算符在可选类型下的一种优化
规则: res = value1 ?? value2 —> res = (value1 != nil) ? value1! : value2
a. value2必须是非可选类型
b. 当value1为nil时,res = value2
c. 当value1不为nil时,如果value1为可选类型,res = value1!,不是可选类型,res = value1
特征运算符:=== !==
用于判断两个对象的引用是否指向头一个对象
区分于 == != 用于判断两个元素的值是否相等
转换运算符: is as
is用于类型检查
as用于类型转换
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。