美文网首页
swift 中的 感叹号 问号 和 双问号

swift 中的 感叹号 问号 和 双问号

作者: lfp901020 | 来源:发表于2018-01-04 11:38 被阅读69次

首先需要了解的 Optional!

点到 Optional 的头文件可以看到, Optional 其实是个enum,里面有 case None 和 case Some(Wrapped)两种类型。其实所谓None 就是 nil, Some 就是 非nil, 是要进行包装的.这也是使用Optional的时候要拆包(从enum里取出来原始值)的原因!

一般 ‘?’ 含有 可选,试试,的意思,有可以选择的余地, 而 ‘!’ 含有的是 强制 的意思

‘?’ 的使用

当想要声明一个 Optional 的变量或者常量时,只需要在数据类型后面 加上 ‘?’ 即可

// 名字

var str: String?

声明为 Optional 的变量默认值是 nil,而常量是没有默认值的,主要用于在构造函数中给常量设置初始数值

2.Optional 解包

Optional 只有在解包后不为 nil 才可以参与运算. 

1) 强制解包

用 ‘!’ 进行解包,即强行解包. 一般只有在保证变量或者常量 有值(不为 nil)的时候才可以进行强行解包.若为 nil,强行解包,会报错

var a: Int?

        let b = 4     

   print(a! + b)

3.运算符 ??

‘??’ 运算符可以用于判断 变量/常量 的数值是否是 nil.不为 nil ,则取变量或者常量本身的值,如果是 nil 则使用后面的值替代

var a: Int?

        let b = 4     

   print((a ?? 0) + b)

相关文章

  • 理解 Swift 中的问号感叹号

    理解 Swift 中的问号感叹号 理解 Swift 中的问号感叹号

  • swift 中的 感叹号 问号 和 双问号

    首先需要了解的 Optional! 点到 Optional 的头文件可以看到, Optional 其实是个enum...

  • swift中双问号

    双问号的意思是,前面的表达式的值为nil 后面的值为当前面的值为nil时,而显示的默认值 当值为0时,是不走后面的值的

  • Swift中的问号?和感叹号!

    在Swift代码会经常看到定义属性或方法参数时类型后面会紧跟一个感叹号( ! )或问号( ? ), 刚开始接触Sw...

  • Swift中的问号?和感叹号!

    Overview 在 C 和 Objective-C 中,没有可选项的概念。在 Objective-C 中有一个近...

  • Swift中的问号?和感叹号!

    Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,...

  • Swift中的问号?和感叹号!

    Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,...

  • Swift中的问号?和感叹号!

    在 C 和 Objective-C 中,没有可选项的概念。在 Objective-C 中有一个近似的特性,一个方法...

  • Swift 中的双问号 ??

    swift中有个双问号操作符(??),可以用来快速对nil进行条件判断,今天来补充下双问号的用法,对于不期望某个o...

  • Swift 中的双问号 ??

    swift中有个双问号操作符(??),可以用来快速对nil进行条件判断,今天来补充下双问号的用法,对于不期望某个o...

网友评论

      本文标题:swift 中的 感叹号 问号 和 双问号

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