美文网首页
Swift3.x - 循环

Swift3.x - 循环

作者: ibabyblue | 来源:发表于2017-03-02 22:18 被阅读333次

    Swift3.0中循环的介绍:

    • 循环在开发中是必不可少的,经常会使用到循环
    • 常见的循环有for循环、while循环、repeat-while循环

    for循环的写法
    在Swift中,for循环最常规的写法:

    for var i = 0; i < 10; i = i + 1{
        print("i")
    }
    

    当然上述代码使用了类型推导!其中的i = i + 1可以写为i++,这里可以看出和OC的不同之处,for后面的小括号也是不存在的。
    注意:上述代码在Swift3.0中已经弃用,也就是说在Swift3.0中这样写会报错。变量自增、自减运算也不再适用。

    /**
     C 语言的格式已经在swift3.0 删除
     */
    
    for var i = 0; i < 10; i++{
        print("i")
    }
    

    For-in循环
    在OC中For-in叫做快速遍历,Swift中也存在此种循环,例如

    /**
     for-in循环
     */
    let str = "hello world"
    for c in str.characters {
        print(c)
    }
    结果:
    h
    e
    l
    l
    o
     
    w
    o
    r
    l
    d
    

    区间循环

    • 开区间循环
      0..<2表示0~2区间,不包含数字2。
    for i in 0..<2 {
        print("hi")
    }
    结果:
    hi
    hi
    
    • 闭区间循环
      0...2表示0~2区间,包含数字2。
    for i in 0...2 {
        print("hi")
    }
    结果:
    hi
    hi
    hi
    

    如果你不需要区间序列内每一项的值,你可以使用下划线(_)替代变量名来忽略这个值:

    for _ in 0..<2 {
            print("hello world!")
    }
    结果:
    hello world!
    hello world!
    

    While循环
    while循环会一直运行一段语句直到条件变成false。这类循环适合使用在第一次迭代前,迭代次数未知的情况下。Swift 提供两种while循环形式:

    • while循环,每次在循环开始时计算条件是否符合;

    • repeat-while循环(也就是OC的do-while循环),每次在循环结束时计算条件是否符合。
      while循环从计算一个条件开始。如果条件为true,会重复运行一段语句,直到条件变为false。(不存在非0即真的情况)

    • while
      while循环从计算一个条件开始。如果条件为true,会重复运行一段语句,直到条件变为false。
      while循环的一般格式:

    while condition {
              statements
    }
    

    while循环在OC与Swift中差异,Swift中:

    • while后面不存在小括号
    • 判断条件没有非零即真
    var a = 2
    while a > 0 {
            print(a)
    }
    结果:死循环,因为判断条件永远为真。
    
    /**
     修改
     */
    var a = 2
    while a > 0 {
        print(a)
        a -= 1;
    }
    
    • repeat-while
      while循环的另外一种形式是repeat-while,它和while的区别是在判断循环条件之前,先执行一次循环的代码块。然后重复循环直到条件为false。
      repeat-while循环的一般格式:
    repeat {
          statements
    } while condition
    

    repeat-while循环在OC与Swift中差异,Swift中:

    • do 改为 repeat
    • while后面判断条件不存在小括号
    • 判断条件没有非零即真
    var a = 2
    repeat{
        print(a)
        
        /** 自增、自减语法 在swift3.0中删除
         a++
         a--
         */
        
        a -= 1
    }while a > 0
    

    Zeb

    相关文章

      网友评论

          本文标题:Swift3.x - 循环

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