大佬教程收集整理的这篇文章主要介绍了快速范围内的“间隔”是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从Swift 3(使用Xcode
8)开始,Interval
类型不再存在。现在,Range<T>
类型族包括以前的范围和间隔类型的功能,并且还符合用于收集类型和索引的新模型。
在Swift 2.x和更早的版本中…范围用于迭代,间隔用于模式匹配。
func testNum(num: int) {
let interval: HalfOpenInterval = 0..<10
let range = 10..<20
switch num {
casE interval: // this works
break
case range: // error "does not conform to protocol IntervalType"
break
default:
break
}
}
对Range
类型进行了优化,以生成在整个范围内递增的值,并且可以使用可以计数和递增的类型。
一种Interval
类型是用于测试是否区间内的给定值位于最优化。它适用于不一定需要递增概念的类型,并提供诸如将一个范围限制到另一个范围(例如(0..<10).clamp(5..<15)
yIEld5..<10
)之类的操作,这些操作对于复杂的模式匹配很有用。
因为..<
和...
运算符分别具有两种形式-一种返回aRange
,另一种返回Interval
--type推断会根据上下文自动使用正确的一种。因此,如果您编写语句0..<10
的case
标签switch
,Swift会自动构造一个,HalfOpenInterval
因为switch
语句需要一种Interval
类型。
该~=
运营商是一个办法做到在一个区间一个测试没有一个switch
说法。写作interval ~=
value
等同于interval.contains(value)
。
值得注意的是,您可以通过查看标准库接口及其注释来发现许多这些问题:像HalfOpenInterval
在操场上一样写一个类型名称,然后单击命令以跳至其定义。
以上是大佬教程为你收集整理的快速范围内的“间隔”是什么?全部内容,希望文章能够帮你解决快速范围内的“间隔”是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。