[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)
时间: 2024-11-08 20:43:42

[swift学习之七]几个运算符练习的相关文章

ios swift学习日记3-基本运算符

运算符是检查,改变,合并值的特殊符号或短语.例如,加号+将两个数相加(如let i = 1 + 2).复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode && passedRetinaScan),又或让 i 值加1的便捷运算符自增运算符++i等. Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码错误.如,赋值符(=)不返回值,以防止把想要判断相等运算符(==)的地方写成赋值符导致的错误.数值运算符(+,-,*,/,%等)会检

Swift学习笔记- 2.基本运算符

赋值运算符 如果赋值的右边是一个多元组,它的元素可以马上分解多个变量或变量 let (x, y) = (1, 2)// x = 1, y = 2 Swift 赋值操作并不返回任何值,所以下面代码是错误的: if x = y {     //此句错误,因为x = y 并不反悔任何值} “+” 也可用于字符串的拼接: "hello" + “world" 两个字符类型 或 一个字符类型和一个字符串类型,相加会生成一个新的字符串类型: let dog: Character = &qu

Swift学习笔记(3)--基本运算符

基本运行符: +(加法.正数) - (减法.负数) *  (乘法) / (除法) % (求余)  : 在Swift中,求余可以是浮点数求余. &&(逻辑与) || (逻辑或) ^ (逻辑异或) 表示范围的符号:..和...(两个点:不包括下界和三个点包括下界) ++, -- 三位运算符 ?: 需要注意的是范围符号..和...  区别就在于三个点的符号包含下界数据,举例说明: ? 1 2 3 4 5 6 7 8 9 for i in 1..3 {     println(i)//打印1,2:

Swift编程语言学习2.2——基本运算符(下)

三元条件运算(Ternary Conditional Operator) 三元条件运算的特殊在于它是有三个操作数的运算符,它的原型是问题?答案1:答案2.它简洁地表达根据问题成立与否作出二选一的操作.如果问题成立,返回答案1的结果; 如果不成立,返回答案2的结果. 使用三元条件运算简化了以下代码: if question: { answer1 } else { answer2 } 这里有个计算表格行高的例子.如果有表头,那行高应比内容高度要高出50像素; 如果没有表头,只需高出20像素. let

【Swift】学习笔记(二)——基本运算符

运算符是编程中用得最多的,其包括一元,二元和三元 三种运算符.swift也和其它编程语言一样基本就那些,下面总结一下,也有它特有的运算符,比如区间运算符 1.一元运算符 =   赋值运算符,用得最多的啦,其不带任何返回值 +  加法(数字相加,也可用于字符拼接var ss = "a"+"b") -   减法 *   乘法 /   除法 % 求余(负号忽略,浮点数也可以求余) >  大于 <  小于 2.二元运算符 ++  自增(就是i = i + i的缩

Swift编程语言学习2.1——基本运算符(上)

运算符是检查,改变,合并值的特殊符号或短语.例如,加号+将两个数相加(如let i = 1 + 2).复杂些的运行算例如逻辑与运算符&&(如if enteredDoorCode && passedRetinaScan),又或让 i 值加1的便捷运算符自增运算符++i等. Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码错误.如,赋值符(=)不返回值,以防止把想要判断相等运算符(==)的地方写成赋值符导致的错误.数值运算符(+,-,*,/,%等)会检

Swift学习—运算符

知识点: Swift范围运算符:..< {表示[x, y), 即大于等于x,小于y} , ... {表示[x, y], 即大于等于x,小于等于y} (主要用于for循环中) Swift溢出运算符(注意:是为整型计算提供的):&+, &-, &*, &/, &% Swift支持N对N赋值 Swift赋值是没有返回值的 %在Swift中叫"求余运算符",求余结果的正负跟%左边数值的正负一样 Swift的%还支持浮点的计算 Bool类型类似于ja

Swift学习笔记七:闭包

闭包可以 捕获 和存储其所在上下文中任意常量和变量的引用. Swift 会为您管理在 捕获 过程中涉及到的内存操作. 在 函数 章节中介绍的全局和嵌套函数实际上也是特殊的闭包,闭包采取如下三种形式之一: 1. 全局函数是一个有名字但不会捕获任何值的闭包 2. 嵌套函数是一个有名字并可以捕获其封闭函数域内值的闭包 3. 闭包表达式是一个可以捕获其上下文中变量或常量值的没有名字的闭包 一.闭包表达式 闭包函数类似于Objective-C中的block.下面我们用事实说话: let counts =

SWIFT学习笔记03

1.断言 let age = -3 assert(age >= 0, "A person's age cannot be less than zero") // 因为 age < 0,所以断言会触发 2.Swift赋值符(=)不返回值,以防止把想要判断相等运算符(==)的地方写成赋值符导致的错误.数值运算符(+,-,*,/,%等)会检测并不允许值溢出. 3.在对负数b求余时,b的符号会被忽略.这意味着 a % b 和 a % -b的结果是相同的,但-a是不一样的. 4.不同