【问题标题】:Swift range operator for i = mymax; i >= 0 i-- [duplicate]i = mymax 的 Swift 范围运算符; i >= 0 i-- [重复]
【发布时间】:2017-04-10 11:38:40
【问题描述】:

我在 Swift 3 中执行 for 循环时遇到问题。我可以将循环用于范围运算符 ... 和 ..<,但在可能的情况下,我想要类似 ..> 的东西,但它不可用。

如何在 Swift 3 中执行以下循环?

var myMax = 20
for var i = myMax ; i >= 0 ; i -= 1 {
   ...
}

【问题讨论】:

    标签: swift for-loop swift3


    【解决方案1】:

    反转循环很容易。用户reversed函数。

    斯威夫特 3

    let myMax = 20
    for i in (1..<myMax).reversed() {
        print(i)
    }
    

    你也可以像@ZaidPathan所说的那样使用stride:

    这个问题有所有版本的所有答案:How to iterate for loop in reverse order in swift?

    【讨论】:

      【解决方案2】:

      Swift 3,你可以使用stride

      var myMax = 20
      for var i = myMax ; i > 0 ; i -= 1 {
      
      }
      
      //Equivalent
      
      let myMax = 20
      for value in stride(from: 20, to: 0, by: -1){
          print(value)
      }
      


      var myMax = 20
      for var i = myMax ; i >= 0 ; i -= 1 {
      
      }
      
      //Equivalent
      
      for value in stride(from: 20, through: 0, by: -1){
          print(value)
      }
      

      【讨论】:

        【解决方案3】:
        for i in (1..<20).reversed() {
            print(i)
        }
        

        希望对您有所帮助。Read More

        【讨论】:

          猜你喜欢
          • 2014-08-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-03-11
          • 2015-07-31
          • 2014-09-17
          • 2023-03-29
          相关资源
          最近更新 更多