Swift 如何散列字符串?
How does Swift hash Strings?
我正在查看字符串 (https://github.com/apple/swift/blob/master/stdlib/public/core/String.swift)
的 Swift 实现
String实现了Hashable协议,也就是说它必须提供一个hashValue。但是,none 在上面链接的 String 实现中提供。我在哪里可以找到这个?我假设 String 从某处继承它。
关于Swift String - Relationships提到的内容,你完全正确:
String implements the Hashable protocol...
您在问题中提供的文件的link中看不到符合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
我正在查看字符串 (https://github.com/apple/swift/blob/master/stdlib/public/core/String.swift)
的 Swift 实现String实现了Hashable协议,也就是说它必须提供一个hashValue。但是,none 在上面链接的 String 实现中提供。我在哪里可以找到这个?我假设 String 从某处继承它。
关于Swift String - Relationships提到的内容,你完全正确:
String implements the Hashable protocol...
您在问题中提供的文件的link中看不到符合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