// 区间循环
for index in 1...10 {
index
}
for index in 1..<10 {
index
}
/**
let numList = [1, 2, 3, 4]
如果我们想知道每次遍历的索引怎么办呢, 还有一种方法:
num.offset 和 num.element 分别代表对应的索引和元素
enumerate 函数其实就是对 numberList 数组做了一个变换,
原来它是一个 Int 类型的数组,经过变换后,成为了 (Int, Int) 元组类型的数组
num 是一个元组。
*/
for num in numList.enumerated() {
print("\(num.offset)")
print(" >>>>>\(num.element)")
}
输出:
0
>>>>>1
1
>>>>>2
2
>>>>>3
3
>>>>>4
/**
上面的num 相当于 (index, value)
*/
for (index, value) in numList.enumerated()
{
// 这样子遍历,可以得到数组的值和下标
print("index:\(index) = \(value)")
}
// reversed() 反向遍历
for num in numList.enumerated().reversed() {
num.offset
print("\(num.offset)")
print(" >>>>>\(num.element)")
}
输出:
3
>>>>>4
2
>>>>>3
1
>>>>>2
0
>>>>>1
success: for m in 1...300 {
for n in 1...300 {
if m*m*m*m - n*n == 15 * m * n {
print("\(m), \(n)")
break success
}
}
}
// 4, 4
// 10, 50
// 18, 216
// break success 跳出指定的循环体,(这里有3条满足等式, success跳出循环体,只执行一次(4,4) 后面满足条件的不再执行了)
// case where 给循环添加判断条件
for case let i in 1...100 where i % 3 == 0 {
print(i)
}
// to 不包括10
for i in stride(from: 0, to: 10, by: 2) {
print(i)
}
输出:
0
2
4
6
8
//through 包括10
for i in stride(from: 20, through: 10, by: -2) {
print(i)
}
输出:
20
18
16
14
12
10