可选型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!!!")
   }
上一篇下一篇

猜你喜欢

热点阅读