★学习笔记:《iOS高级:Swift入门精讲②》第一节 Swift编程-01➡02-区间类型

前言:
本篇为视频学习笔记

区间类型

 let range1: ClosedRange = 1...3          <闭区间:类型ClosedRange>
 let range2: Range = 1..<3                <半开区间:类型Range>     
 let range3 PartialRangeThrough = ...5    <单侧区间:类型PartialRangeThrough>  

其实,这些区间都是有类型的,只不过上一节我们写的时候,我们的编译器会自动推断出它的类型,就像我们之前写整数的时候,并没有明显的写冒号Int类型,因为swift编译器会自动推导出这个类型。

  • 字符、字符串也能使用区间运算符(可以单独拿来用),但默认不能用到for-in中 ClosedRange
 let stringRange1 = "cc"..."ff"  // ClosedRange
 stringRange1.contains("cb")     // false
 stringRange1.contains("dz")     // true
 stringRange1.contains("fg")     // false
 
 let stringRange2 = "a"..."f"
 stringRange2.contains("d")      // true
 stringRange2.contains("h")      // false

问题:

 let str = "a"           // 默认是String类型
 let c: Character = "a"  // 字符类型必须写清楚(Character)

\0到~囊括了所有可能要用到的ASCIIk字符

 let characterRange: ClosedRange = "\0"..."~"
 characterRange.contains("G") // true

判断某个字符是否为ASCIIk字符可以用上面这种方法

带间隔的区间值

 let hours  = 11
 let hourInterval = 2
 // tickMark的取值: 从4开始,累加2,不超过11
 for tickMark in stride(from: 4, through: hours, by: hourInterval) {
     print(tickMark)
 } // 4 6 8 10

带间隔用stride函数,有三个参数,从哪里开始,到哪里结束,间隔是多少

你可能感兴趣的:(★学习笔记:《iOS高级:Swift入门精讲②》第一节 Swift编程-01➡02-区间类型)