swift-循环

// 区间循环
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

你可能感兴趣的:(swift-循环)