首页 > 解决方案 > 如果将其放在 Nil-Coalescing 运算符之后,则 Swift 添加不起作用

问题描述

我知道核心问题可能与系统不了解优先级有关,但我不能 100% 确定。有谁明白为什么下面的代码设置值 q = 1。

var i: Int? = 1
var v = 2
let q = i ?? 0 + v

当我将最后一行更改为:

let q = (i ?? 0) + v

然后它运作良好。我知道 + 的优先级高于 ?? 根据这个来源,但在这个等式中没有意义

标签: iosswift

解决方案


确认后,我现在很满意这是由于 + 比 ?? 具有更高的优先级。将代码放在 () 中对我来说是控制计算优先级的诀窍


推荐阅读