美文网首页iOS Developer
swift入门1 操作符

swift入门1 操作符

作者: C93zzo | 来源:发表于2017-04-11 11:41 被阅读44次

    注:英文部分来自官方文档

    基础操作符

    赋值操作符

    If the right side of the assignment is a tuple with multiple values, its elements can be decomposed into multiple constants or variables at once:
    如果赋值的左边是一个包含多个值的tuple,它的元素可以一次解析为多个常量或变量

    let (x, y) = (1, 2)
    // x 等于 1, y等于 2
    

    Unlike the assignment operator in C and Objective-C, the assignment operator in Swift does not itself return a value. The following statement is not valid:

    和c oc中的赋值操作符不一样,swift中的赋值操作赋本身并不返回一个值。下面的程序是无效的:

    if x = y {
        //无效, x = y 并不返回值.
    }
    

    nil聚合运算符 Nil-Coalescing

    The nil-coalescing operator (a ?? b) unwraps an optional a if it contains a value, or returns a default value b if a is nil. The expression a is always of an optional type. The expression b must match the type that is stored inside a.

    nil聚合运算符(a ?? b) 表示:如果a包含一个值,则解析可选a;如果a为nil,则返回默认值b。 此表达式是一个可选(optional)类型。表达式b必须与a内部存储的类型一致。

    The nil-coalescing operator is shorthand for the code below:
    nil聚合运算符 是下面代码的简写:
    a != nil ? a! : b

    范围操作符 Range Operators

    • 闭合范围操作符 Closed Range Operator

    The closed range operator (a...b) defines a range that runs from a to b, and includes the values a and b. The value of a must not be greater than b.

    闭合范围操作符 (a...b) 定义了一个 从a到b的范围(注意中间是三点),而且包含值a和b。a的值必须必b的值大。

    闭合操作符在for-in循环中特别有用:

    for index in 1...5 {
        print("\(index) times 5 is \(index * 5)")
    }
    // 1 times 5 is 5
    // 2 times 5 is 10
    // 3 times 5 is 15
    // 4 times 5 is 20
    // 5 times 5 is 25
    
    • 半开范围操作符 Half-Open Range Operator

    The half-open range operator (a..<b) defines a range that runs from a to b, but does not include b. It is said to be half-open because it contains its first value, but not its final value. As with the closed range operator, the value of a must not be greater than b. If the value of a is equal to b, then the resulting range will be empty.

    半开范围操作符(a..<b)定义了一个从a到b的范围,但是不包含b。之所以说是半开是因为它包含第一个值,但不包含最后的那个值。与闭合范围操作符一样,a的值必须大于b的值。如果a等于b,那么返回的范围将是空。

    let names = ["Anna", "Alex", "Brian", "Jack"]
    let count = names.count
    for i in 0..<count {
        print("Person \(i + 1) is called \(names[i])")
    }
    // Person 1 is called Anna
    // Person 2 is called Alex
    // Person 3 is called Brian
    // Person 4 is called Jack
    

    如果你觉得文章不错,可以给我打赏点比特股(bts),以示支持。_

    BTS6jUaVVkz9gN8t9sWY9NR5UbiubSz7QtVDnEtFGpujYeqQSfQ5E

    相关文章

      网友评论

        本文标题:swift入门1 操作符

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