美文网首页
范围运算符

范围运算符

作者: 小金_1180 | 来源:发表于2018-06-19 14:51 被阅读0次

    Swift提供了多种范围运算符,用来简洁的表达范围值。

闭合范围运算符

    闭合范围运算符(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”

半开范围运算符

    半开运算符(a..<b)定义了一个从a到b但是不包括的b的范围。之所以称之为半开运算符,因为它包含了开始值a但不包括结束值b,和闭合运算符一样,a的值必须不大于b,如果a等于b,那么这个范围是空。

    半开运算符在处理以0为基准的列表类数据会很有用,比如数组,可以使用数组的数组的长度进行迭代:

        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    

    数字中包含4个元素,但是0..<count只迭代到3,也就是最后一个元素的索引,这就是半开范围运算符。

单边范围运算符

    如果范围需要往一个方向持续叠加,闭合范围运算符有一个替代的形式。比如要表示一个数组中索引为2的元素到最后一个元素的范围。这些情况下,可以省略范围运算符中一侧的值。这种范围被称为单边范围运算符,因为范围中值包含了一边的值。比如:

        for name in names[2...] {

            print(name)

        }

        // Brian

        // Jack

        for name in names[...2] {

            print(name)

        }

        // Anna

        // Alex

        // Brian”

    半开运算符也可以写成单边运算符的形式,只需要写上最后的值。就和你同时包含2侧的值一样,最后的值不包含在范围之内。例如:

        for name in names[..<2] {

            print(name)

        }

        // Anna

        // Alex

    除了下标运算,单边运算符也可以用在其他场景中。省略了起始值的单边范围不可以被迭代,因为不知道从哪里开始迭代。省略了终止值的单边范围可以被迭代。省略了终止值的单边范围可以无穷尽的持续叠加,所以你必须要给循环添加一个明确的终止条件。你也可以检查一个单边运算符是不是包含了一个特殊的值,就像下面一样:

        let range = ...5

        range.contains(7)  // false

        range.contains(4)  // true

        range.contains(-1)  // true

相关文章

  • 范围运算符

    Swift提供了多种范围运算符,用来简洁的表达范围值。 闭合范围运算符 闭合范围运算符(a...b)定义一...

  • Swift之基础运算符(Basic Operators)

    目录 赋值运算符 算数运算符 余数运算符 一元运算 复合分配运算符 三元条件运算符 范围运算符1. 近程运算符2....

  • NSPredicate谓词使用场景

    3.基本语法 (1)比较运算符>,<,==,>=,<=,!= 可用于数值及字符串 (2)范围运算符:IN、BETW...

  • Swift 基本运算

    元组(Tuples) 比较 Nil-Coalescing运算符 范围运算 a <= x <= b

  • Excel函数总结

    基本知识 运算符 : :范围运算符,对于一个区域时使用 , :单元格区域并集运算符. :(单一空格)单元格区域交集...

  • 11.ECSAScript运算符

    一元运算符 位运算符 ECMAScript中整数有32个数位; 无符号整数,只有正数,范围0~(2^32-1); ...

  • Swift - 区间运算符的用法(... 和 ..<)

    区间运算符可以用来表示两个操作数之间的范围集合。 1.闭区间运算符: a...b 2.半闭区间运算符: a..

  • 要点1

    语句以分号结束。 程序块以{}划出范围。 用名称与类型声明变量。 等号是赋值运算符。 两个等号用来当等号运算符。 ...

  • c 语言学习(简记版)

    1 数据类型取值范围速查表: 2 3 if 选择结构 4.循环 5 关系运算符和关系表达式以及逻辑运算符

  • 区间运算符

    闭区间运算符 闭区间运算符(a...b)定义了从 a 到 b 的一组范围,并且包含 a 和 b 。 a 的值不能大...

网友评论

      本文标题:范围运算符

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