Swift的可选类型(Optional)—— 解包

可选类型 ------- Optional

        swift中引入了可选类型————如果一个常量或变量,它的值可能存在,也可能不存在,那么可以定义这个值为可选类型值。可选类型的数据类型是确定的,值不确定。

         可选类型其实是一个枚举类型,里边有None和Some两种类型。当它不存在的时候,其实就是Optional.None也就是nil,存在的话就是Optional.Some。

解包

1.强制解包———如果已经确定可选类型的值不为空的话可以强制进行解包

直接解包

2.用if语句判断解包 —— 用if语句去判断是否为空 然后解包

if语句解包

3.使用guard解包  —— guard语句和if语句类似,都是根据关键字之后的表达的布尔值去判断该进行哪一步的操作。不同的是guard语句是判断之后的表达式的Bool值为false时,才会执行之后代码块里的代码,如果为true,则直接跳过guard语句进行下面的操作


guard解包

这里使用了双重解包,用起来比较方便。

一般常用的解包就这几种,自己闲来无事做一下笔记,分享一下 ,本人初学者一枚,有问题还望指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 对各种值为"空"的情况处理不当,几乎是所有Bug的来源。 在我们的例子里,尽管tmp的值是nil,但调用tmp的r...
    AKyS佐毅阅读 13,588评论 1 13
  • Hello Word 在屏幕上打印“Hello, world”,可以用一行代码实现: 你不需要为了输入输出或者字符...
    restkuan阅读 8,464评论 0 6
  • Optional Type总览 什么是optional? Swift中声明的一个变量时, 默认情况下它是non-o...
    鱼与愚七阅读 5,117评论 0 1
  • 离婚这个念头第一次闪过半夏脑海的时候,离她和杜仲的五周年结婚纪念日还有不到两个月。 他们是相亲认识的,杜仲在本地大...
    均分_好少年阅读 1,846评论 0 1
  • 失眠时,她常常追问活着的意义 孤独的意义 是为了成全一个诗意的人生吗 抑或是为了成全另一样未知的事物 从时间上看,...
    风之子的黄昏阅读 1,688评论 3 13

友情链接更多精彩内容