可选型Optionals

Advanced Type

Optionals 可选值
【可选型Optionals】1.或者是一个值,或者是没有值。
2.没有值是为nil。
声明一个可选型的变量
var 变量名:数据类型? var imOptionalVar:Int?//值为 nil imOptionalVar = 21//值为 {some 21},当前值为21,是一个可选值

使用场景
let userInput = "abc" var age = userInput.toInt()//toInt()返回一个可选型数据 if age != nil { println("your age is \(age)")//"\(age)"可以在字符串中打印出age的值 println("your age is \(age!)")// "age!"表示可选型age一定有值,此时age!为整型 //println("your age is "+ String(age))//!!!强制类型转换不能转换可选型变量 println("your age is "+ String(age!)) //对于一个已知一定有值的可选型变量可以强制类型转换 }else{ println("Invalid input!!!") }

-----------------------------------------------------------------------------------------------

//Optional binding if let userAge = userInput.toInt()//直接解包为整形 { println("your age is " + String(userAge)) userAge//此时的userAge已经是整型数据 }else{ println("Invalid Input!!!") }

    推荐阅读