swift学习之运算符
2018-04-10 本文已影响0人
可可托海的程序猿
算术运算、赋值运算、逻辑运算等等,这些基本的运算,和java、C基本一样,没什么好说的,主要记录下swift中特殊的运算。空和运算和区间运算
空和运算符(a??b)
a??b
空合运算符(a ?? b)将对可选类型 a 进行空判断,如果 a 包含一个值就进行解封,否则就返回一个默认值 b。表达式 a 必须是 Optional 类型。默认值 b 的类型必须要和 a 存储值的类型保持一致,是对以下代码的间歇
a != nil ? a! : b
栗子
let b = "b"
var a: String?//默认值为nil
var c = a ?? b;
print(c)
//b为nil,所以输出结果为b
区间运算符(...)
1⃣️闭区间运算符
(a...b)定义了个a到b的区间(包含a和b)
for index in 1...5 {
print(index)
}
//输出 1 2 3 4 5
2⃣️开区间运算符
(a..<b)定义一个从 a 到 b 但不包括 b 的区间
let letters = ["a", "b", "c", "d"]
let count = letters.count
for i in 0..<count {
print(letters[i])
}
//输出 a b c d
3⃣️单侧间运算符
(a...) 从第a个到最大(包含a)
for letter in letters[2...] {
print(letter)
}
//输出 c d
(...a) 从第0个到第a个(包含a)
for letter in letters[...2] {
print(letter)
}
//输出 a b c