ios - 如果将其放在 Nil-Coalescing 运算符之后,则 Swift 添加不起作用
问题描述
我知道核心问题可能与系统不了解优先级有关,但我不能 100% 确定。有谁明白为什么下面的代码设置值 q = 1。
var i: Int? = 1
var v = 2
let q = i ?? 0 + v
当我将最后一行更改为:
let q = (i ?? 0) + v
然后它运作良好。我知道 + 的优先级高于 ?? 根据这个来源,但在这个等式中没有意义
解决方案
确认后,我现在很满意这是由于 + 比 ?? 具有更高的优先级。将代码放在 () 中对我来说是控制计算优先级的诀窍
推荐阅读
- python - Keras 功能 API 多输入层
- javascript - 重置角度反应形式的更改
- neo4j - 忽略 Cypher 查询或替代方案中的属性:如何计算关系序列
- asp.net-core - ASP.NET Core 禁用 Windows 身份验证
- node.js - 如何在 Google 操作中重定向到另一个意图(Google 助理操作)
- java - 当异常包装在另一个自定义异常中并重新抛出时如何保留原始堆栈跟踪
- asp.net - 为什么“开始调试”会立即导致 HTTP404 错误?
- powershell - 将 AdminCount 修改为零
- python - 如何用 Python 中的一个键开始用另一个数组填充 NPArray?
- php - GD库上传图片旋转