一.nil聚合运算符
1.nil聚合运算符,它主要是针对可选型进行操作的.
2. ??代表的就是聚合运算符
3.a ?? b 等价于a != nil ? a! :b
4.代码如下,普通方法与nil聚合运算符的比较
/**例子,用普通的方法*/
/**4.1首先先创建一个可选型变量*/
var userName:String?
/**4.2给可选型变量赋初值*/
userName = "xingZai"
/**4.3判断是否为空*/
if userName != nil
{ /**4.4如果不为空返回姓名,\()是打印,!代表解包,变成基本类型而不再是可选型*/
println("xingMing:\(userName!)")
}else{
println("ni bu shuai")
}
/**5.例子,用三目运算符,解决上面的问题*/
let outName:String = userName != nil ? userName! : "ni hao"
println("hello," + outName)
/**6.用nil聚合运算符,解决上面的问题*/
/**6.1分析,?? 这里代表判断userName是否不为空,如果不为空,返回userName的解包,否则返回你好*/
let outputName:String = userName ?? "ni hao"
println("hello," + outputName)
/**6.2或者可以写成下面这样*/
let outs:String? = userName ?? "ni shuai"
println("hello: \(userName!)")
7.输出结果如下.
二.区间运算符
/**闭区间 a...b ->[a,b]*/
/**半闭区间 a..<b ->[a,b)*/
/**1.从1到10*/
for index in 1...10
{/**1.1打印从1到10*/
println(index)
}
/**2.从1开始小于10,即从1到9*/
for index1 in 1..<10
{/**2.1打印从1到9*/
println(index1)
}
let courseNames = ["1","2","3","4"]
/**3.遍历courseNames所有的元素*/
for i in 0..<courseNames.count
{/**3.1遍历数组中所有的元素*/
courseNames[i]
}
三.逻辑运算符
let a:Bool = true
/**1.非a*/
!a
let b:Bool = false
/**2.a与b,两个同时满足才为真*/
a && b
/**3.a或b,只要有一个满足就为真*/
a || b