Swift-控制流(control-Flow)- forIn、

作者: HunterDude | 来源:发表于2016-12-28 16:40 被阅读67次

    之前写了一些文章发现都不干,所以之后的文章尽量会写一些干货。有些同学问我,哥们,你的Swift在哪里学。参考文档看博客视频喽

    目录

    • For-In 循环
    • While 循环
    • 1. For-In 循环
    //  Created by Hunter on 28/12/2016.
    //  Copyright © 2016 Hunter. All rights reserved.
    //
    
    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // 输出闭合区间中的值
            for index in 1...5 {
                print("index = ",index)
                /*输出
                 index = 1
                 index = 2
                 index = 3
                 index = 4
                 index = 5
                 */
            }
            
            // 不需要变量名,只想循环走5次。可使用下划线'_'替代变量名字
            for _ in 1...5 {
                
            }
            
            // 便利一个数组
            let names = ["熊大","熊二","光头强"]
            for name in names {
                print("neme:",name)
                /*输出
                 name: 熊大
                 name: 熊二
                 name: 光头强
                 */
            }
            
            // 便利一个字典. 注意:字典是无序的
            let perssonModel = ["熊大":"18",
                                "熊二":"12",
                                "光头强":"30"]
            for (name,age) in perssonModel {
                print("name:",name,"age",age)
                /*输出
                 name: 光头强 age 30
                 name: 熊二 age 12
                 name: 熊大 age 18
                 */
    
            }
        }
    
    }
    
    • 2. While 循环

    两种形式:
    1、 while 当“条件” 成立(true)一直循环执行循环体,当“条件'”不成立(false)跳出循环语句
    2、 repeat-while 类似 do-while, 它和while 不同的就是在判断循环条件是否成立之前,先之心一遍循环体内的代码,然后若条件成立再执行循环体,直到循环条件不成立,跳出循环体。

    While演示

    //  ViewController.swift
    //  Swift_Control-Flow
    //
    //  Created by Hunter on 28/12/2016.
    //  Copyright © 2016 Hunter. All rights reserved.
    //
    import UIKit
    class ViewController: UIViewController {
        override func viewDidLoad() {
            super.viewDidLoad()
            // 简单的例子。
            var count = 0
            while count < 10 {
                count += 1
                print(count)
            }
            print("结束Where循环,count = ",count)
            /*输出
             1
             2
             3
             4
             5
             6
             7
             8
             9
             10
             结束Where循环,count =  10
             */
            /*
             具体什么时候用where循环,什么时候用for循环,视具体情况而定,好比官方这个例子,用where循环最合适不过。
             就是说当我们并不知道,循环体什么时候结束,只有在达成指定条件是,才结束。这时候我们用where最合适不过。
             */
            // 官方例子,滑梯游戏(可参考下方图片理解图片(官方例子,滑梯游戏图片))
            let finalSquare = 25
            var board = [Int](repeating:0,count:finalSquare+1)
            board[03] = +08; board[06] = +11; board[09] = +09; board[10] = +02
            board[14] = -10; board[19] = -11; board[22] = -02; board[24] = -08
            var square = 0
            var diceRoll = 0
            while square < finalSquare {
                // 掷骰子
                diceRoll += 1
                if diceRoll == 7 { diceRoll = 1 }
                // 根据点数移动
                square += diceRoll
                if square < board.count {
                    // 如果玩家还在棋盘上,顺着梯子爬上去或者顺着蛇滑下去
                    square += board[square]
                }
            }
            print("Game over!",square,diceRoll)
            /*输出
             Game over! 27 4
             */
        }
    }
    
    官方例子,滑梯游戏图片

    do -while 演示

    //  ViewController.swift
    //  Swift_Control-Flow
    //
    //  Created by Hunter on 28/12/2016.
    //  Copyright © 2016 Hunter. All rights reserved.
    //
    
    import UIKit
    
    class ViewController: UIViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
            
            var count = 0
            repeat{
                count += 1
                print(count)
            } while count < 0
            print("结束Where循环,count = ",count)
            /*输出
             1
             结束Where循环,count =  1
             */
    
        }
    }
    

    相关文章

      网友评论

        本文标题:Swift-控制流(control-Flow)- forIn、

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