美文网首页
可选型Optionals

可选型Optionals

作者: im_panlei | 来源:发表于2014-11-27 14:02 被阅读28次

    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!!!")
       }
    

    相关文章

      网友评论

          本文标题:可选型Optionals

          本文链接:https://www.haomeiwen.com/subject/hzzwtttx.html