美文网首页
2.可选项

2.可选项

作者: min369 | 来源:发表于2017-12-07 08:17 被阅读8次

//最常见的错误
//Unexpectedly found nil while unwrapping an Optional value
//在解包的时候发现了nil值
/*
定义 可选项使用: ?
解包使用: !,准备计算
*/

func demo() {
    //********定义可选项的2种方式:*************
    //1.原始的可选项定义
    //none:没有值  some 某一类值
    let x : Optional = 10
    
    //2.简单的定义
    let y : Int? = 20 //nil //40
    
    //输出结果 Optional(10),提示这是一个可选项
    print(x)
    
    // Constant 'y' used before being initialized
    //常量y使用之前,必须初始化
    print(y)
    
    //1> 不同类型之间的值不能直接运算,如果没有值是nil(nil 不是任何数据类型,不能参与计算)
    //print(x + y)
    
    //2> "!" 强行解包,从可选值中强行获取对应的非空值,如果真的是nil,就会崩溃!
    //程序员必须对每一个“!”负责
    //程序中要少用“!”
    print(x! + y!)
}

func demo1() {
    //1> 定义y,没有初始化
    let y: Int?
    
    //2> 给常量设置数值,初始化的工作只能做一次
    y = 20;
    
    //再次修改常量会报错
    //  y = 30
    
    print(y)
    
    //****** var 的可选值默认为 nil
    //****** let 的可选值没有默认值
    var x: Int?
    
    //打印结果为nil
    print(x)
}

相关文章

  • 2.可选项

    //最常见的错误//Unexpectedly found nil while unwrapping an Opti...

  • Swift3.0 基础语法1

    主要分为以下几个部分 : 1.变量和常量 2.可选项Optional2.1 '?' 和 ‘!’使用2.2 可选项的...

  • 07-Swift可选项

    1.可选项 可选项,一般也叫可选类型,它允许将值设置为nil 在类型名称后面加个问号? 来定义一个可选项 2.强制...

  • Swift Day14 运算符 扩展

    一、运算符 1. 可选项(Optional)的本质是什么? 可选项本质是:带有泛型的关联值枚举 2. 如果 var...

  • Swift 空合并运算符(Nil-Coalescing Oper

    可选项的本质是enum类型 API 规则 a ?? b a 是可选项 b 是可选项 或者 不是可选项 b 跟a 的...

  • 四、Swift3.0值可选项(概念、默认值)

    1.原始的可选项定义方法 2.简单的定义可选项方法其中,? 用来定义y是一个可选的Int类型,可能有值,可能没有值...

  • 05-可选项

    可选项(Optional) 强制解包(Forced Unwrapping) 判断可选项是否包含值 可选项绑定(Op...

  • Swift5.1学习随笔之空合并运算符??

    写法:a ?? b a 是可选项 b 是可选项 或者 不是可选项 b 跟 a 的存储类型必须相同如果 a 不为ni...

  • Swift5复习(二)可选项、结构体、类、闭包

    Swift复习(二)可选项、结构体、类、闭包 一、 可选项(Optional) 定义 可选项,一般也叫可选类型,它...

  • Optional 可选类型

    理解可选项的概念 要么有值,要么为 nil 知道可选项的规则 参与计算前需要解包 知道两个符号 ? 定义可选项 !...

网友评论

      本文标题:2.可选项

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