0

我正在查看 String 的 Swift 实现(https://github.com/apple/swift/blob/master/stdlib/public/core/String.swift

String 实现了 Hashable 协议,这意味着它必须提供一个 hashValue。但是,上面链接的 String 实现中没有提供任何内容。我在哪里可以找到这个?我假设 String 从某个地方继承它。

4

1 回答 1

3

参考Swift String -Relationships中提到的内容,您绝对正确:

String 实现了Hashable协议...

Hashable您在问题中提供的文件的链接中看不到符合协议的实现在哪里的原因是:

'String : Hashable'一致性已移至单独的文件。你可以在这里找到它: https ://github.com/apple/swift/blob/master/stdlib/public/core/StringHashable.swift ;请注意,该文件是StringHashable.swift,但不是 String.swift

您还可以在此处找到此更改的提交: https ://github.com/apple/swift/pull/4612/commits

于 2017-07-03T06:41:41.027 回答