尝试理解下面的代码。 我知道在实例化 Optional 时 T 是被传递的,例如 Optional,但是 map 中的 U 类型呢?它假设了什么类型?
enum Optional<T> : LogicValue, Reflectable {
case None
case Some(T)
init()
init(_ some: T)
/// Allow use in a Boolean context.
func getLogicValue() -> Bool
/// Haskell's fmap, which was mis-named
func map<U>(f: (T) -> U) -> U?
func getMirror() -> Mirror
}