swift3.0学习

2016-09-17  本文已影响21人  郑州程序员王一
变量和常量的默认值
//let的默认值要赋值
let num1 : Int?
num1 = 10

//var的默认值是nil
var num2 :Int?
可选项

如下面的demo1方法所示,使用了可选项便要解包,但是如果用户传入了nil,那么强行解包会崩溃,使用第二种解包方式为佳

demo1(x: 13, y: nil)

func demo1(x:Int?,y:Int?) {
        //print(x! + y!)     //第一种强行解包有风险
        print((x ?? 0) + (y ?? 0))   //第二种
    }

(重点!!!!!!!!)使用了可选项,便要解包比较麻烦,到处都是"?"号,"!"号,所以苹果推出了二种方法配合"可选项",guard let 和 if let,笔者推崇guard let,少一层循环

demo1(name: "王一", age: nil)

//guard let
func demo1(name : String?,age : Int?) {
    guard let name = name,let age = age else {
        print("姓名or年龄为nil")
        return
    }
    print(name+"的年龄为"+String(age))
}

//if let
func demo2(name : String?,age : Int?) {
    if let name = name,let age = age{
        print(name + "的年龄是" + "\(age)")
    }else{
        print("姓名or年龄为nil")
    }
}

未完

上一篇 下一篇

猜你喜欢

热点阅读