Reverse Range in Swift

前端 未结 7 1288
青春惊慌失措
青春惊慌失措 2020-11-27 14:07

Is there a way to work with reverse ranges in Swift?

For example:

for i in 5...1 {
  // do something
}

is an infinite loop.

7条回答
  •  一生所求
    2020-11-27 15:06

    Swift 3, 4+: you can do it like this:

    for i in sequence(first: 10, next: {$0 - 1}) {
    
        guard i >= 0 else {
            break
        }
        print(i)
    }
    

    result: 10, 9, 8 ... 0

    You can customise it any way you like. For more info read func sequence reference

提交回复
热议问题