控制流

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        switchDemo()
    }

    func switchDemo() {

        // option + click 是开发中最重要的组合键 (没有之一),可以实时查看变量的类型
        let number = "11"

        /**
            1. 不需要 break
            2. 不在局限在 对 int 的分支,可以对任意数据类型进行检测
            3. 各个 case 之间,不会穿透,如果有多个值,使用 , 分隔
            4. 定义变量,不需要使用 {} 分隔作用域
            5. 在 swift 中,必须涵盖所有条件,每一个 case 至少包含一条语句
        */
        switch number {
        case "10", "11":
            let name = "老王"
            print("\(name) 好")
        case "9": print("良")
        default: break
//            print("差")
        }

    }

    /// guard - 是和 if let 刚好相反的指令
    /// Swift 2.0 推出的语法
    func demo3() {
        let oName: String? = "张三"
        let oAge: Int? = 20

        guard let name = oName else {
            print("name 为 nil")
            return
        }

        guard let age = oAge else {
            print("age 为 nil")
            return
        }

        // 代码执行到此,name 和 age 一定有值
        // 在实际开发中,复杂的代码在条件判断之后
        // 使用 guard 会让嵌套层次少一层!
        print("Hi \(name) --- \(age)")
    }

    /// if let
    func demo2() {

        let oName: String? = "张三"
        let oAge: Int? = 20

        if oName != nil && oAge != nil {
            print("Mr" + oName! + "---" + String(oAge!))
        }

        // if let 可以设置数值,进入分支后,name 可以保证一定有值
        if let name = oName {
            print("Hi " + name)
        }

        // 多值的设置,使用 , 分隔
        // 注意:if let 语句中不能使用 && || 条件
        if let name = oName, age = oAge {
            print("Hi " + name + "---" + String(age))
        }
    }

    /// 三目 - 在 Swift 中,用的很多!
    // if 语句,一不小心会写的丑疯了!
    func demo1() {

        let a = 2

        a > 5 ? print("哈哈") : print("呵呵")
    }

    // 基本的 if
    func demo() {

        let x = 10

        /**
            1. 没有 ()
            2. 必须要有 {}
                在很多公司的开发规范中,都是禁止不使用 {} 的!
            3. 条件判断,C 语言中有一个非零即真,Swift 中只有 true / false
        */
        if x > 5 {
            print("xxx")
        }

        if x > 20 {
            print("大了")
        } else {
            print("小了")
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值