美文网首页iOS
swift for 循环 看我就够了 (swift5)

swift for 循环 看我就够了 (swift5)

作者: 静守幸福 | 来源:发表于2021-04-06 15:47 被阅读0次

    基本循环

    
    // 正向数组
    for  index  in 0...length {
    }
    for  index  in 0..<length {
    }
    
    // 反向数组
    for  index  in 0...length.reversed() {
    }
    
    

    定长步长值 for循环

    /// - Parameters:
    ///   - start: The starting value to use for the sequence. If the sequence
    ///     contains any values, the first one is `start`.
    ///   - end: An end value to limit the sequence. `end` is never an element of
    ///     the resulting sequence.
    ///   - stride: The amount to step by with each iteration. A positive `stride`
    ///     iterates upward; a negative `stride` iterates downward.
    /// - Returns: A sequence from `start` toward, but not including, `end`. Each
    ///   value in the sequence steps by `stride`.
    @inlinable public func stride<T>(from start: T, to end: T, by stride: T.Stride) -> StrideTo<T> where T : Strideable
    
         for radians in stride(from: 0.0, to: .pi * 2, by: .pi / 2) {
            let degrees = Int(radians * 180 / .pi)
             print("Degrees: \(degrees), radians: \(radians)")
         }
    // Degrees: 0, radians: 0.0
    // Degrees: 90, radians: 1.5707963267949
    // Degrees: 180, radians: 3.14159265358979
    // Degrees: 270, radians: 4.71238898038469
    
        for countdown in stride(from: 3, to: 0, by: -1) {
            print("\(countdown)...")
        }
    // 3...
    // 2...
    // 1...
    
        for x in stride(from: 0, to: 10, by: -1) {
            print(x)
         }
    // Nothing is printed.
    
    for countdown in stride(from: 3, through: 0, by: -1) {
            print("\(countdown)...")
        }
    // 3...
    // 2...
    // 1...
    // 0...
    
    
    to  不包含边界值  through  包含边界值
    

    变长步长值 for循环

    for var k in sequence(first:  1, next: {  2 * $0 + 1 < length ? 2 *$0 + 1 : nil
            })
    
    for var k in sequence(first:  1, next: { element in
                return 2 * i + 1 < length ? 2 * i + 1 : nil
            })
    
    first  变长开始的位置
    next   步长公式   返回  nil 的时候 表示停止
    不在这里停止的话 在for循环里面判断临界值 退出
    
    

    相关文章

      网友评论

        本文标题:swift for 循环 看我就够了 (swift5)

        本文链接:https://www.haomeiwen.com/subject/vjoskltx.html