【问题标题】:What is the ?? operator? [duplicate]是什么 ??操作员? [复制]
【发布时间】:2018-04-16 17:00:08
【问题描述】:

什么是??运营商

Swift 编程语言 (Swift 4.1)

我正在阅读 Apple 的《The Swift Programming Language (Swift 4.1)》一书,我在其中谈到了 ??运营商:

专家

另一种处理可选值的方法是使用 ?? 提供默认值。操作员。如果缺少可选值,则使用默认值。

摘自:Apple Inc. “Swift 编程语言 (Swift 4.1)。”电子书。 https://itunes.apple.com/us/book/the-swift-programming-language-swift-4-1/id881256329?mt=11

问题

可选值

专家说 ??运算符用于可选值 我想知道它对可选值有什么作用。

它的作用

所以我想知道的另一件事是 ??操作员做。

【问题讨论】:

  • 这就是我的意思 nil 合并运算符是什么?
  • 表示如果第一个值为nil,则返回第二个操作数的值。
  • 哦,这更有意义,所以 nil 合并运算符使它如此,所以如果您必须使用一个值(不是 nil),那么它将假定 nil 合并值的值。

标签: swift operators


【解决方案1】:

Nil-Coalescing Operator (??)

nil-coalescing 运算符 (a ?? b) 如果包含值,则解开可选的 a,如果 anil,则返回默认值 b。表达式 a 始终是可选类型。表达式 b 必须与存储在 a 中的类型匹配。

?? - 表示默认值分配,当您的变量具有 nil 值时。

考虑以下示例:

var int a = nil    // var a with nil value assignment

var int b = a ?? 1  // first trying to get value from a. If var a has nil then it will try assign value 1.

print("b = \(b)")

结果:b = 1

【讨论】:

    猜你喜欢
    • 2014-01-28
    • 2013-01-11
    • 1970-01-01
    • 2012-03-17
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    相关资源
    最近更新 更多