博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
swift 中的 感叹号 问号 和 双问号用法详解
阅读量:4045 次
发布时间:2019-05-24

本文共 677 字,大约阅读时间需要 2 分钟。

首先介绍一下swift 中的 Optional!

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

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

  1. ‘?’ 的使用

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

// 名字    var name: 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)

转载地址:http://gfwci.baihongyu.com/

你可能感兴趣的文章
android raw读取超过1M文件的方法
查看>>
ubuntu下SVN服务器安装配置
查看>>
MPMoviePlayerViewController和MPMoviePlayerController的使用
查看>>
CocoaPods实践之制作篇
查看>>
[Mac]Mac 操作系统 常见技巧
查看>>
苹果Swift编程语言入门教程【中文版】
查看>>
捕鱼忍者(ninja fishing)之游戏指南+游戏攻略+游戏体验
查看>>
iphone开发基础之objective-c学习
查看>>
iphone开发之SDK研究(待续)
查看>>
计算机网络复习要点
查看>>
Variable property attributes or Modifiers in iOS
查看>>
NSNotificationCenter 用法总结
查看>>
C primer plus 基础总结(一)
查看>>
剑指offer算法题分析与整理(三)
查看>>
Ubuntu 13.10使用fcitx输入法
查看>>
pidgin-lwqq 安装
查看>>
mint/ubuntu安装搜狗输入法
查看>>
C++动态申请数组和参数传递问题
查看>>
opencv学习——在MFC中读取和显示图像
查看>>
Matlab与CUDA C的混合编程配置出现的问题及解决方案
查看>>