第2部分 故事的进阶要素 - 编程语言Swift的进阶部分
4 for-in 控制流
4.1 概念通俗讲解
for-in控制流是一个循环语句。它和while语句使用场景不同。
while语句和if语句使用方式类似,只不过if是运行一次,while是循环运行。
而for-in循环大多的使用场景是遍历数组,字典或者遍历一个区间。
遍历这个词听着有点难懂,通俗来说就是把组数里的元素逐个的查询出来。
4.2 定义简洁介绍
for 常量 in 区间{
运行代码
}
举例,遍历一个数组
var age = [11,12,13,14,15]
for value in age{
print(value)
}
此时value就会逐个的打印出来。value这里是一个临时的局部常量
扩展一下,使之不但可以输出数组的值,还可以输出数组的索引。索引的概念简单理解就是数组元素在数组里的位置。
例如这里13是在数组的第2个位置(数组的位置是从0开始,不是从1开始),所以它的索引就是2。
for (index, value) in age.enumerated(){
print(index, value)
}
如果是遍历一个字典,这里遍历key和value,不用像数组一样,写.enumerated()
var person = [1:"男", 2:"女", 3:"女", 4:"男"]
for (key, value) in person{
print(key, value)
}
如果只遍历key,代码如下:
for key in person.keys{
print(key)
}
如果只遍历value,代码如下:
for key in person.values{
print(key)
}
遍历一个区间0,1,2,3,4
for number in 0..<5{
print(number)
}
遍历一个区间另一种使用场景
var num = 1
for _ in 0..<5{
num += 1
}
这种场景用不到for循环里的临时常量,直接用_运算符替代即可。
4.3 我的经验总结
1). for-in循环在实际开发中非常常用,一定要熟练掌握。
2). for-in循环和while同为循环,不过适用场景不同。
3). for-in主要是为了循环遍历数组,字典等。while主要是在某个条件成立时的循环调用。
有些场景的for-in循环遍历,也是可以用while实现的。
例如
for value in 0..<4{
print(value)
}
用while语句来实现
var value = 0
while value<4{
print(value)
value += 1
}
注:本人水平和能力有限,如果哪些地方写错了,请大家给我反馈,我会及时修改。