- 常量用 let ,变量用 var

- // Optional为可选项,// 可用类型值 + ? 代替

        let x: Optional = 10
        let y: Int? = 5
        print(x! + y!)

- 三木运算符

        // 三目运算符
        x > 5 ? print("大了") : print("小了")
        // 可以这样写 `()`,如果不判断的话
        x > 5 ? print("大了") : ()
        /**
         ?? 是一个简单的 三目运算
         - 如果有值,使用值
         - 如果没有值,使用 ?? 后面的值替代
         ?? 优先级最低
        */
        print((x ?? 0) + (y ?? 0))

- if let / var 连用语法,目的就是判断值

        let oName:String? = ""
        let oAge:Int? = 10
        
        if oName != nil && oAge != nil {
            print(oName! + String(oAge!) + "")
        }
        
        // if let 连用,判断对象的值是否为 nil, {} 内一定有值,可以直接使用,不需要解包
        // if var 连用, {} 可以对值进行修改!
        if var name = oName,
            let age = oAge {
            name = ""
            
            // 进入分支之后, name 和 age 一定有值,不需要解包
            // name 和 age 的作用域仅在 {} 中
            print(name + String(age) + "")
        } else {
            print("name 或 age 为 nil")
        }

 

- guard  守卫 / 守护  // guard let 和 if let 刚好相反

  这样可以使可选项去掉

        let oName: String? = ""
        let oAge: Int? = 10
        
        // guard let 守护一定有值,如果没有直接返回
        guard let name = oName,
            let age = oAge else {
            print("年龄或者姓名为 nil")
                return
        }
        
        // 代码执行至此,name 和 age 一定有值
        // 通常判断是否有值之后,会做具体的逻辑实现,通常代码多
        // 如果用 if let 凭空多了一层分支,guard 是降低分支层次的方法
        // guard 的语法是 Swift 2.0 推出的!
        print(name + String(age) + "")    

 

- swtich case
     1. swtich 可以针对任意类型的值进行分支,不再局限在整数
     2. switch 一般不需要break
     3. switch 如果要多值,使用 `,`
     4. 所有的分支至少需要一条指令,如果什么都不干,才使用break

    func test9(num: String) {
        switch num {
        case "10", "9":
            print("")
        case "8":
            break
        default:
            print("一般")
        }
    }

- for循环

        // [0, 5)
        for i in 0..<5 {
            print(i)
        }
        
        print("------")
        
        // [0, 5]
        for i in 0...5 {
            print(i)
        }

 

posted on 2017-08-21 13:33  xiao孛  阅读(1443)  评论(0编辑  收藏  举报