GitHub Demo: https://github.com/BaHui/BHSwifter
1. 组合赋值运算符: 组合加运算(+=)是其中一个例子:
var num = 100
num += 200 // 等价于: num = num + 200
print("num的值: \(num)") // 输出: 300
- 比较运算符
· 等于(a == b)
· 不等于(a != b)
· 大于(a > b)
· 小于(a < b)
· 大于等于(a >= b)
· 小于等于(a <= b)
// 比较字符串是否相等
let nameOne = "qiaobahui"
let nameTwo = "qiaobahui"
if nameOne == nameTwo {
print("nameOne 和 nameTwo相等") // 输出: name1 和 name2相等
}
--------------------------------------------------------------------
let nameThree = "nameThree"
let nameFour = "nameFour"
if nameThree != nameFour {
print("nameThree 和 nameFour 不相等") // 输出: nameThree 和 nameFour 不相等
}
注意: Swift 也提供恒等(===)和不恒等(!==)
这两个比较符来判断两个对象是否引用同一个对象实例。
- 三目运算
let contentHeight = 40.0
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50.0 : 20.0)
print(rowHeight) // 输出: 90.0
- 空盒运算符
/*空合运算符(a ?? b)将对可选类型 a 进行空判断,表达式 a 必须是 Optional 类型
*
*/
表达式 a 必须是 Optional 类型
let defaultColorName = "Red"
var userDefinedColorName: String? //默认值为 nil
let colorNameToUse1 = userDefinedColorName ?? defaultColorName
print("colorNameToUse1: \(colorNameToUse1)") // 输出: colorNameToUse1: Red
userDefinedColorName = "Blue"
let colorNameToUse2 = userDefinedColorName ?? defaultColorName
print("colorNameToUse2: \(colorNameToUse2)") // 输出: colorNameToUse2: Blue
5.区间运算符
let names = ["name1", "name2", "name3"]
for name in names[..<2] {
print(name) //输出: name1 name2
}
for name in names[2...] {
print(name) //输出: name3
}
- 逻辑运算符
· 逻辑非(!a)
· 逻辑与(a && b)
· 逻辑或(a || b)
let allowedEntry = false
if !allowedEntry {
print("ACCESS DENIED")
}
// 输出 "ACCESS DENIED"
let enteredDoorCode = true
let passedRetinaScan = false
if enteredDoorCode && passedRetinaScan {
print("Welcome!")
} else {
print("ACCESS DENIED")
}
// 输出 "ACCESS DENIED"
let hasDoorKey = false
let knowsOverridePassword = true
if hasDoorKey || knowsOverridePassword {
print("Welcome!")
} else {
print("ACCESS DENIED")
}
// 输出 "Welcome!"
if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword {
print("Welcome!")
} else {
print("ACCESS DENIED")
}
// 输出 "Welcome!"
网友评论