gpt4 book ai didi

swift - 为什么在 Swift 中两个不同的数组字面量彼此相等?

转载 作者:行者123 更新时间:2023-12-05 01:08:40 26 4
gpt4 key购买 nike

为什么会这样表达

import Foundation
["a", "b", "c"] == ["c", "b", "a"]

在 Swift Playground 上评估为 true

(当未导入 Foundation 时,表达式的计算结果为 false。)

最佳答案

乔希的回答很接近,但并不完全正确。按住 Option 键单击等号运算符。你的文字是 Foundation.CharacterSets.

public static func == (lhs: CharacterSet, rhs: CharacterSet) -> Bool

对于文字解析,编译器会搜索

  1. 您正在使用的模块。
  2. 您的进口。
  3. Swift 标准库。 (其中有一些特殊的模块范围消歧规则,其中隐式类型的文字是数组,因为这使得在大多数情况下使用该语言更容易。)

enter image description here

这是一个模棱两可的错误吗?是的。可以解决吗?我对此表示怀疑。我敢打赌它已经坏了,因为如果它进行了详尽的搜索,没有人能够获得足够好的性能。但是请,log a bug ,找出并报告!

关于swift - 为什么在 Swift 中两个不同的数组字面量彼此相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65800400/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com