美文网首页
Swift新宠-区间运算符

Swift新宠-区间运算符

作者: 一个栗 | 来源:发表于2021-06-09 09:50 被阅读0次

闭区间运算符

  • 闭区间运算符(a...b)定义了从 a 到 b 的一组范围,并且包含a 和 b。a 的值不能大于 b
for index in 1...5 {
    print("\(index) time 5 is \(index * 5)")
}

打印结果如下:
1 time 5 is 5
2 time 5 is 10
3 time 5 is 15
4 time 5 is 20
5 time 5 is 25

半开区间运算符

  • 半开区间运算符(a..<b)定义了从a 到 b 但不包括 b 的区间
  • 如同闭区间运算符,a 的值也不能大于b ,如果 a 与 b 的值相等,那返回的区间将会是空的
let names = ["zhangsan","lisi","wangwu","zhaoliu"]
let count = names.count
for i in 0..<count {
    print("Person \(i + 1) is called \(names[i])")
}

打印结果如下:
Person 1 is called zhangsan
Person 2 is called lisi
Person 3 is called wangwu
Person 4 is called zhaoliu

单侧区间

  • 闭区间有另外一种形式来让区间朝一个方向尽可能地远,这种区间叫单侧区间。
  • 半开区间运算符同样可以有单侧形式,只需要写它最终的值。
  • 比如说,一个包含数组所有元素的区间,从索引 2 到数组的结束。在这种情况下,你可以省略区间运算符一侧的值
let names = ["zhangsan","lisi","wangwu","zhaoliu"]
let count = names.count

for name in names[2...] {
    print(name)
}
print("=======")
for name in names[...2] {
    print(name)
}
print("=======")
for name in names[..<2] {
    print(name)
}

打印结果如下:
wangwu
zhaoliu
=======
zhangsan
lisi
wangwu
=======
zhangsan
lisi
  • 单侧区间可以在其他上下文中使用,不仅仅是下标。
  • 不能便利省略了第一个值的单侧区间,因为遍历根本不知道从哪里开始。你可以遍历省略了最终值的单侧区间


    单侧区间.png

字符串索引区间

  • 字符串范围也可以使用区间运算符
var welcome = "hello world"
let range = welcome.index(welcome.endIndex, offsetBy: -6) ..< welcome.endIndex
welcome.removeSubrange(range)
print(welcome)

打印结果如下:
hello

Comparable 区间

  • 区间运算符可以作用在 Comparable 类型上,返回闭区间和半闭区间
var welcome = "hello,world!"
let interval = "a" ... "z"
for c in welcome {
    if !interval.contains(String(c)) {
        print("\(c)不是小写字母")
    }
}

打印结果如下:
,不是小写字母
!不是小写字母

倒序

for i in (0...10).reversed() {
    print(i)
}

打印结果如下:
10
9
8
7
6
5
4
3
2
1
0

相关文章

  • iOS开发 - 「Swift 学习」Swift 区间运算

    Swift 区间运算符 Swift提供了两个区间运算符 运算符描述实例闭区间运算符闭区间运算符(a...b)定义一...

  • Swift新宠-区间运算符

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

  • Swift-区间运算符

    Swift 提供了3种方便表达一个区间的值的区间运算符。 闭区间运算符 闭区间运算符(a...b)定义一个包含从 ...

  • Swift-for循环

    从swift3开始,swift放弃了c风格的for循环,而建议我们用区间运算符的方式写循环 c风格 区间运算符方式...

  • Swift 区间运算符

    目前有时间,打算复习一下Swift,打算抽时间写个Swift基础教程系列。今天就说一下区间运算符。 闭区间运算符 ...

  • Swift 基本运算符之区间

    Swift 提供了两个方便表达一个区间的值的运算符。 一:闭区间 闭区间运算符 a...b 定义一个包含从 a 到...

  • swift基础知识

    一 可选类型 二 空和运算符 ?? 三 区间运算符 ... 四 switch swift中的switch语句比...

  • 认识Swift系列2之流程控制

    Swift中的if、while、for、区间运算符、标签语句 if-else 语句(if 条件只能是Bool类型)...

  • Swift特殊运算符

    swift3 中已经取消了++、--。 区间运算符 1...5 是闭区间,代表1、2、3、4、51..<5是左闭右...

  • swift5.5语法

    1.swift3.0以后,去除了自增(++)和自减(--)的运算符,替代成了-= 和 += 2.区间运算符 注意对...

网友评论

      本文标题:Swift新宠-区间运算符

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