美文网首页iOS Developer
Swift 基本语法04-"switch"和

Swift 基本语法04-"switch"和

作者: 一位不愿透露姓名的王先生_ | 来源:发表于2017-05-16 21:32 被阅读608次
    一个iOS开发初级菜鸡.png

    Swift 基本语法01-Swift简介
    Swift 基本语法02-"let"和"var"
    Swift 基本语法03-"if let"和"guard let"
    Swift 基本语法05-"String"
    Swift 基本语法06-数组和字典

    1. switch 语法简介

    1> switch可以针对任意类型的值进行分支,不再局限整数

    override func viewDidLoad() {
        super.viewDidLoad()
        
        demo(num: "10")
    }
    
    func demo(num: String) {
        
        switch num {
        case "10":
            print("优")  // 输出结果:优
        default:
            print("一般")
        }
    }
    

    2> switch一般不需要break

    OC版本:

    switch (num) {
        case 10:
        {
            NSLog(@"优");
        }
            break;
            
        default:
            break;
    }
    

    swift 版本:

    switch num {
    case "10":
        print("优")
    default:
        print("一般")
    }
    

    3> swift如果要多值,使用,分隔

    override func viewDidLoad() {
        super.viewDidLoad()
        
        demo(num: "9")
    }
    
    func demo(num: String) {
        
        switch num {
        case "10", "9":
            print("优")  // 输出结果:优
        default:
            print("一般")
        }
    }
    

    4> 所有的分支至少需要一条指令,如果什么都不干,才用break

    switch num {
    case "10", "9":
        print("优")
    /**
     * 1.如果只写(case "8":)会出现红色错误提示:'case' label in a 'switch' should have at least one executable statement
     * 2.根据提示点击修复,会自行添加'break'
     */
    case "8": break
    default:
        print("一般")
    }
    

    2. for 循环

    1> 传统的for循环在swift 3.0已经被取消,i++ / ++i也从swift 3.0被取消

    // C-style for statement has been removed in Swift 3
    // '++' is unavailable: it has been removed in Swift 3
    for var i = 0; i < 10; i++ {
        
    }
    

    Extension:
    i++会多一个临时变量,i++大多数程序员使用,而++i一般是 C++/C 程序员使用。
    现在代码已经对i++++i进行改进,没有性能上的太大区别,我们用的时候,只需要记住i++是后加,++i是先加就可以了(swift里已经取消)。

    num = i++  等价代码
    temp = i
    num = temp
    i = temp + 1
    
    num = ++i 等价代码
    i = i + 1
    num = i
    

    2> swift里面的for循环

    // 变量'i'在[0,5)进行循环
    // 注意:(0..<5)之间不能乱插入空格,不然会报错
    for i in 0..<5 {
        print(i)    // 输出:0,1,2,3,4
    }
    
    print("======")
    
    // 变量'i'在[0,5]进行循环
    for i in 0...5 {
        print(i)    // 输出:0,1,2,3,4,5
    }
    

    3> 范围定义是一个固定的格式,一定要遵守规范

    // CountableRange<Int>
    let r1 = 0..<5
    print(r1)   // 输出:0..<5
    
    // CountableClosedRange<Int>
    let r2 = 0...5
    print(r2)   // 输出:0...5
    

    4> for循环反向输出-reversed()

    // 反向输出 reversed()
    for i in (0..<10).reversed() {
        print(i)    // 输出:9,8,7,6,5,4,3,2,1,0
    }

    相关文章

      网友评论

        本文标题:Swift 基本语法04-"switch"和

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