0
var stream: DataStream? = nil
switch stream {
case nil:
print("No data stream is configured.")
case let x?:
print("The data stream has \(x.availableBytes) bytes available.")
}
通过switch optional code Refrenced匹配,上述内容将调用public func ~= <T>(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool
功能。并且在此功能的另一开关模式:夫特开关模式与。有些/ .none
public func ~= <T>(lhs: _OptionalNilComparisonType, rhs: T?) -> Bool {
switch rhs {
case .some(_):
return false
case .none:
return true
}
}
我的问题是whitch功能将被这种模式叫什么?在Range.swift & Policy.swift中有两个〜=重载函数,它们中的一个会被调用吗?
谢谢,每个开关模式都会调用_>重载指令吗?如果是这样,这个模式会调用哪个函数? 开关RHS { 情况。有些(_): 返回false 情况下.none: 还真 } – Maize
我明白,不是每个开关模式将调用〜>过载功能 – Maize
如果某些类型调用'>'或'=='我猜这取决于'〜='的实现 – Andrea