/*空合运算符 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)
时间: 2024-11-08 20:43:42