美文网首页
Swift 运算符

Swift 运算符

作者: 孤雁_南飞 | 来源:发表于2021-01-13 19:00 被阅读0次
  • 合并空值运算符:??
  1. 合并空值运算符(a ?? b) 如果可选项 a 有值则展开,如果没有值,是nil,则返回默认值b
  2. 表达式 a 必须是一个可选类型,表达式b 必须与a 的存储类型相同
  3. 合并空值运算符,实际上是三元运算符作用到 Optional 上的缩写 (a != nil ? a! : b)
  4. 如果 a 的值是非空,b的值将不会被考虑,也就是合并空值运算符是短路的

区间运算符

  • 闭区间运算符
  1. 闭区间运算符(a...b)定义了从 a 到 b 的一组范围,并且包含 a 和 b,a的值不能大于b
for index in 1...5 {
    print("\(index) times 5 is \(index * 5)")
}
  • 半开区间运算符
  1. 半开区间运算符(a..<b)定义了从 a 到 b 但不包括b 的区间
  2. 如同闭区间运算法,a的值也不能大于b,如果a == b,那返回的区间将会为空
let names = ["张三", "李四", "王二", "麻子"]
let count = names.count
for index in 0..<count {
    print("person \(index) is called \(names[index])")
}
  • 单侧区间
  1. 闭区间有另外一种形式来让区间朝一个方向尽可能的远,这种区间叫做单侧区间
  2. 半开区间运算符同样可以有单侧形式,只需要写他的最终值
for name in names[2...] {
    print(name)
}
print("------------")
for name in names[...2] {
    print(name)
}
print("------------")
for name in names[..<2] {
    print(name)
}
  1. 单侧区间可以在其他上下文中使用,不仅仅是下标
  2. 不能遍历省略了第一个值的单侧区间,因为遍历根本不知道该从哪里开始,你可以遍历省略了最终值的单侧区间
let range = ...5
range.contains(7)  //false
range.contains(4)   //true
range.contains(-1)  //true
  • 字符串索引区间
  1. 字符串范围也可以使用区间运算符
var welcome = "hello world"
let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex
welcome.removeSubrange(range)
print(welcome)
  • 倒序索引
  1. 通过reversed()方法,我们可以将一个正序循环变成逆序循环
for index in (1...6).reversed() {
    print(index)
}
  • Comparable区间
  1. 区间运算符可以作用在Comparable 类型上,返回闭区间和半闭区间
var welcome = "hello,world!"
let intervar = "a"..."z"
for char in welcome {
    if !intervar.contains(String(char)) {
        print("\(char)不是小写字母")
    }
}

相关文章

  • swift 运算符

    Swift 基本运算符 标签(空格分隔): swift 运算符 zybuluo swift 运算符 特性 赋值运算...

  • Swift 基本语法(二)— 运算符

    swift 运算符1.赋值运算符“=” 没有返回值, 比较运算符“==” 返回bool值。 这是swift比OC...

  • Swift002-运算符和流程控制语句

    Swift002-运算符和流程控制语句 运算符 Swift支持大多数标准C运算符,并有所改进。 赋值运算符(=)不...

  • 赋值和算数运算符

    基本概念 一元运算符、二元运算符、三元运算符Swift 只有一个三元运算符 a ? b : c Swift 运算符...

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

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

  • swift运算符

    溢出运算符 Swift的算数运算符出现溢出时会抛出运行时错误 Swift有溢出运算符(&+、&-、&*),用来支持...

  • Swift 高级运算符 ⑬

    1. 溢出运算符 Swift 的算数运算符出现溢出时,会抛出运行时错误 Swift 有溢出运算符(&+、&-、&*...

  • 17-Swift高级运算符

    1.溢出运算符 Swift的算数运算符出现溢出时会抛出运行时错误 Swift有溢出运算符(&+、&-、&*),用来...

  • 高级运算符

    溢出运算符 Swift的算数运算符出现溢出时会抛出运行时错误Swift有溢出运算符(&+、&-、&*),用来支持溢...

  • 每天学一点Swift---- 运算符函数

    一.运算符重载 1. Swift的运算符提供了良好的可扩展性,Swift不仅允许开发者重新定义已有的运算符(运算符...

网友评论

      本文标题:Swift 运算符

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