可选型Optionals
2014-11-27 本文已影响28人
im_panlei
Advanced Type
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!!!") }