美文网首页
2.基本运算符 Basic Operators Swift官方文

2.基本运算符 Basic Operators Swift官方文

作者: KevinFromChina | 来源:发表于2018-03-28 20:18 被阅读0次
    //: Playground - noun: a place where people can play
    
    import UIKit
    
    // # 专门用语
    // 赋值号=不会返回值,防止与==混淆
    
    // # 赋值运算符
    
    // # 算术运算符
    // Swift默认不允许值溢出,可以用溢出操作符如a &+ b来实现溢出行为
    // +运算符支持String的拼接:"hello, " + "world"
    // %余数运算符。如果前者是负数,就考虑多少倍后者的最大倍数情况下余数是多少;如果后者是负数,直接无视负号
    var nega = -9 % 4
    var negative = -9 % -4
    // 一元减号运算符(负号)后不要加空格
    
    // # 组合赋值运算符
    
    // # 比较运算符
    // 元组可以按从左到右的顺序比大小,前提是元素可比并且小于7个
    (1, "zebra") < (2, "apple")
    
    // # 三元条件运算符
    // question ? answer1 : answer2
    // 整体返回为部分返回的值,好处是省去了一些中间步骤,代码简洁
    
    // # 合并空值运算符
    // a ?? b 是 a != nil ? a! : b 的缩写,a是一个可选类型,也可以是隐式展开可选类型。b与a的储存类型相同
    var a : Int?
    a ?? 666
    
    // # 区间运算符
    // trick: 遵循sequece协议才能在for-in中遍历
    // 0...5 0..<5 遵循sequence和RangeExpression
    // ...5(PartialRangeThrough类型) ..<5(PartialRangeUpTo类型) 不遵循Sequence,只遵循RangeExpression,也有contains(_),也可以将其作为collection的下标(通过生成index的range)
    let names = ["Anna", "Alex", "Brian", "Jack"]
    for i in 0..<names.count {
        print("Person \(i + 1) is called \(names[i])")
    }
    for name in names[1...] {
        print(name)
    }
    for name in names[..<3] {
        print(name)
    }
    let range = 0...5
    range.contains(7)
    range.contains(4)
    
    // # 逻辑运算符
    // &&: 如果任意一个值是 false,那么整个表达式的结果会是 false。事实上,如果第一个值是 false,那么第二个值就会被忽略掉了,因为它已经无法让整个表达式再成为 true。这就是所谓的短路计算。短路计算的作用是第二个条件可以基于第一个。有时可被,取代。
    // || 也是短路计算。
    // && 和 || 是左相关的,要注意可读性,善用括号。
    
    
    

    相关文章

      网友评论

          本文标题:2.基本运算符 Basic Operators Swift官方文

          本文链接:https://www.haomeiwen.com/subject/sqwucftx.html