[swift学习之七]几个运算符练习

/*空合运算符
 1:空合运算符??必须是一个可选类型
 2:双目运算符,意思是前面的如果不为空,那么就返回前面的(随便解封),否则就返回后面的。
    后面的一定不为空。
*/

var EmptyArrA:[Int]?
var EmptyArrB:[Int]=[4,5]
/*两个return的意思一样,执行的是上面的*/
func getNotNoneEmpty() -> [Int] {
    if EmptyArrA?.count ?? 1 > 0{
       return EmptyArrA ?? EmptyArrB
    }
    return (EmptyArrA != nil) ? EmptyArrA! : EmptyArrB
}
print(getNotNoneEmpty())
/*===运算符,判断两个实例是否为同一实例,只能用于引用类型~*/
class TestOperator {
    var p:Int = 0
}
let t1 = TestOperator()
let t2 = t1
t2.p=9
print("isSame:\(t1===t2)t1.p=\(t1.p)")
/*$运算符,如果不用的话,得有个形参吧,如EmptyArrC~
 需要注意的是,如果用$访问的话,得给个类型,原因不明~
*/
let EmptyArrC = EmptyArrB.map { (aValue: Int) -> Int in
    if aValue > 3 {
        return aValue + 4
    }
    return aValue
}
print(EmptyArrC)
let EmptyArrD:[Int]  = EmptyArrB.map({
    if $0 > 3 {
        return $0 + 4
    }
    return $0
})
print(EmptyArrD)
func EmptyMap(aValue: Int) -> Int {
    if aValue > 3 {
        return aValue + 4
    }
    return aValue
}
let EmptyArrE = EmptyArrB.map(EmptyMap)
print(EmptyArrE)

你可能感兴趣的:(swift,运算符)