Swift: Hashable和AnyHashable
2017-11-08 本文已影响0人
yehkong
- 首先Hashable是protocol;
public protocol Hashable : Equatable {
public var hashValue: Int { get }
}
AnyHashable是struct,遵循Hashable protocol; - AnyHashable主要是用在Dictionary和Set需要的键的类型中,因为键要求是遵循Hashable protocol的类型,比如我们我们常常看到的[AnyHashable : Any] Dictionary;
- 具体到那些基本类型可以充当AnyHashable类型呢?
其实String、Double、Int等都可以充当AnyHashable类型使用,原因同样是因为这些类型都遵循Hashable protocol。