gpt4 book ai didi

swift - 有人知道 Swift 中 "(nil < 0) == true"和 "(nil <= 0) == true"背后的基本原理吗?

转载 作者:IT王子 更新时间:2023-10-29 05:26:20 35 4
gpt4 key购买 nike

我认为 Swift 是一种结构非常完善的现代语言,但是,有一件事让我感到困惑,那就是 (nil <= 0) == true 和 < strong>(nil < 0) == true.

更多案例:

enter image description here

无论如何,为 nil < 0 返回 true 似乎违背了整个可选概念,其中一个论点是关于避免将默认数字初始化为“0”。现在“0”又是特殊的。

任何人都可以解释 Swift 决定让 (nil <= 0) 和 (nil < 0) 返回 true。

最佳答案

Optionals 是可比较的,因此它们可以被排序,例如。规则很简单:

  1. 任意两个为 nil 的可选值比较相等。
  2. 如果一个可选值是 nil 而另一个不是,则 nil 小于非 nil。
  3. 如果两个可选值都不为零,则比较展开的值。

因此,nil 等于 nil,并且 nil 小于任何非 nil 可选值。

它与您分配的值 0 无关。分配 -1000 或 +100 或任何你喜欢的值,你会得到相同的结果。

关于swift - 有人知道 Swift 中 "(nil < 0) == true"和 "(nil <= 0) == true"背后的基本原理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31460395/

35 4 0
文章推荐: javascript - 加载页面后自动加载javascript函数
文章推荐: javascript - 站点地图 node.js 模块中的 cacheTime 是什么?
文章推荐: javascript - 从 元素创建 Snap.svg 对象