美文网首页
Optional:合并空值运算符

Optional:合并空值运算符

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

合并空值运算符

  • 合并空值运算符(a ?? b)如果可选项 a 有值则展开,如果没有值,是nil,则返回默认值 b
  • 表达式 a 必须是一个可选类型。表达式 b 必须和 a 的储存类型相同。
  • 实际上是三元运算符作用到 Optional 上的缩写 (a != nil ? a! : b)
  • 如果 a 的值是非空的,b 的值将不会被考虑,也就是合并空值运算符是短路的。
let a : Int? = 3
let b = 4
print(a ?? b)

打印结果:
3
let a : Int? = nil
let b = 4
print(a ?? b)

打印结果:
4

a 和 b 类型不同,实际上不会报错【苹果文档上说的不允许】

let a : Int? = nil
let b : String = "bb"
print(a ?? b)

打印结果:
bb

日常便利

let a : Int? = nil
let b = 2

func addTwoNum(num1 : Int?, num2 : Int?) -> Int {
    return (num1 ?? 0) + (num2 ?? 0)
}
print(addTwoNum(num1: a, num2: b))

打印结果为:
2

相关文章

  • Optional:合并空值运算符

    合并空值运算符 合并空值运算符(a ?? b)如果可选项 a 有值则展开,如果没有值,是nil,则返回默认值 b...

  • Swift 运算符

    合并空值运算符:?? 合并空值运算符(a ?? b) 如果可选项 a 有值则展开,如果没有值,是nil,则返回默认...

  • 合并空值运算符

    合并空值运算符 合并空值运算符(a ?? b):如果可选项 a 有值则展开,如果没有值,是nil,则返回默认值 b...

  • node.js 14新特性

    1 Optional Chaining(可选链) 2 Nullish Coalescing(空值合并)逻辑或操作符...

  • JavaScript 中目前比较少见的表达式

    ??:空值合并运算符es2020[https://developer.mozilla.org/zh-CN/docs...

  • 合并空值运算符

    今天继续学习 极客时间 上 张杰 老师的 Swift 的课程,看的真是辛苦,感觉讲的好慢。我这强迫症又不愿意跳着学...

  • 合并空值运算符

    合并空值运算符 a ?? b, 如果可选项a有值则展开,如果没有值,返回nil,则返回默认值b。 表达式a必须是一...

  • 谈谈 JavaScript 中的空值合并操作符 Nullish

    空值合并运算符 (??) 是一个逻辑运算符,仅当左侧(第一个参数)为空或未定义时才返回运算符(第二个参数)的右侧。...

  • 理解php中的?:与??

    三元运算符(?:) php 5.3 空合并运算符(??)php 7

  • Optional容器类的常用方法

    Optional容器类的常用方法 说明 方法描述empty放回一个值为空的Optional实例filter如果值存...

网友评论

      本文标题:Optional:合并空值运算符

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