`

《从零开始学Swift》学习笔记(Day 28)——总结使用问号(?)和感叹号(!)

阅读更多

原创文章,欢迎转载。转载请注明:关东升的博客 

 

在使用可选类型和可选链时,多次使用了问号(?)和感叹号(!),但是它们的含义是不同的,下面我来详细说明一下。 

1. 可选类型中的问号(?

声明这个类型是可选类型,访问这种类型的变量或常量时要使用感叹号(!),下列代码是显示拆包: 

 

let result1: Double? = divide(100, 200)	
print(result1!) 	

   

2. 可选类型中的感叹号(!) 

声明这个类型也是可选类型,但是访问这种类型的变量或常量时可以不使用感叹号(!),下列代码是隐式拆包: 

let result3: Double! = divide(100, 200)
 print(result3)          
 

  3. 可选链中的感叹号(!) 

多个实例具有关联关系,当从一个实例引用另外实例的方法、属性和下标等成员时就会形成引用链,由于这个“链条”某些环节可能有值,也可能没有值,因此需要采用如下方式访问: 

emp.dept!.comp!.name  

 

4. 可选链中的问号(?) 

在可选链中使用感叹号(!)访问时,一旦“链条”某些环节没有值,程序就会发生异常,我们把感叹号(!)改为问号(?),代码如下所示: 

emp.dept?.comp?.name 

 

这样某些环节没有值的时候返回nil,程序不会发生异常。

 

 

 

 

 

 

 

 

  • 大小: 21.1 KB
分享到:
评论

相关推荐

    从零开始学swift

    从零开始学swift,图灵原创,关东升著。基于swift2.x。2016年3月版

    Swift学习笔记与资料集合

    "Swift学习笔记.docx" 和 "Swift学习笔记.pdf" 可能是由个人开发者或经验丰富的程序员编写的实践总结,通常会包含作者在学习过程中遇到的问题、解决方法和技巧,这对于初学者来说是非常宝贵的实战经验。这些笔记可能...

    IOS应用源码——翻页(电子书?).rar

    【标题】:“IOS应用源码——翻页(电子书?).rar”指的是一个iOS平台上的应用程序源代码,特别涉及到实现电子书翻页效果的源码。在iOS开发中,创建具有翻页效果的电子书应用是提升用户体验的重要手段,这种效果...

    OpenStack从零开始学

    《OpenStack从零开始学》是一本面向初学者的指南,旨在帮助读者全面理解并掌握OpenStack这一开源云操作系统的基础知识和实践技能。OpenStack是一个庞大且复杂的项目,由多个组件构成,为云计算提供了基础设施即服务...

    从零学习SwiftUI.zip

    以下是从零开始学习SwiftUI的一些建议: 了解Swift语言基础:SwiftUI是用Swift语言编写的,因此了解Swift语言的基础知识是非常重要的。你可以从苹果官方文档、在线教程或书籍中学习Swift语言。 学习SwiftUI基本概念...

    Swift学习笔记

    Swift 学习笔记 Swift 是一种现代化的高性能编程语言,旨在为 iOS、macOS、watchOS 和 tvOS 等苹果平台上的应用程序提供强大的开发能力。本文将总结 Swift 的一些基础知识,包括基本语法、变量声明、数据类型、控制...

    Swift学习笔记含项目代码.zip

    Swift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习笔记含项目代码.zipSwift学习...

    swift-贝塞尔曲线使用——模拟心跳曲线

    通过研究和学习这个项目,你可以更直观地理解贝塞尔曲线在Swift中的应用,并且能够将这种技术应用于自己的项目中。 总的来说,Swift中的贝塞尔曲线提供了一种强大的方式来创建动态、流畅的动画效果。通过理解和实践...

    从0开始入门学习Swift

    学习 Swift 需要系统性和持久性,以下是一些建议:首先,了解 Swift 的基础知识。Swift 是一种现代化的高性能语言,由 Apple 公司开发,用于开发 iOS、macOS、watchOS 和 tvOS 应用程序。了解 Swift 的历史、特点和...

    关于新语言swift的?和!知识点

    Swift是一种由Apple开发的编程语言,它在2014年首次发布,旨在提供更安全、更快速的iOS、macOS、watchOS和tvOS应用开发。在Swift中,`?` 和 `!` 是两个非常重要的符号,它们与可选(Optional)类型紧密相关,这是...

    swift学习笔记

    这篇学习笔记主要涵盖了Swift的基础知识和关键特性,旨在帮助初学者理解并掌握这种现代、强大且易读的语言。 一、Swift语言基础 Swift的语法简洁明了,易于理解。它引入了类型推断,使得编写代码时可以减少冗余的...

    IOS开发-Swift-基础知识学习笔记

    let myConstant = "Hello, Swift!" ``` 2. 数据类型 Swift有多种内置数据类型,如整型(Int)、浮点型(Double/Float)、布尔型(Bool)和字符串(String)。类型系统严格,需要在声明时指定类型。 3. 注释 Swift...

    iOS开发 swift语言入门 学习资料

    从Apple官方的“Swift Playgrounds”应用到各种在线教程和书籍,如《Swift编程语言》(The Swift Programming Language)官方指南,都提供了详细的学习路径。通过这些资源,你可以逐步了解并掌握变量与常量、控制流...

    Swift学习demo.zip

    Swift是Apple公司为iOS、macOS、watchOS和tvOS平台设计的一种强大的、现代的编程语言。本资源“Swift学习demo.zip”包含了多个关键概念,旨在帮助初学者掌握Swift的基础知识。以下是这些概念的详细解释: 1. **闭包...

    swift 学习笔记 之 下标脚本的使用

    这篇学习笔记将深入探讨Swift下标脚本的使用,帮助你更好地理解和应用这一特性。 一、定义下标 在Swift中,你可以为自定义类型定义下标,以支持通过特定索引来访问和修改其内部数据。定义下标的关键字是`subscript`...

    Swift编程入门教程.pdf

    Swift编程入门教程,从零开始,深入浅出的Swift语言学习指南; Swift编程入门教程,从零开始,深入浅出的Swift语言学习指南; Swift编程入门教程,从零开始,深入浅出的Swift语言学习指南; Swift编程入门教程,从零...

    整理好的swift学习资源和笔记.zip

    目前最全最火的swift学习资源和笔记,非常适合小白入门 目前最全最火的swift学习资源和笔记,非常适合小白入门 目前最全最火的swift学习资源和笔记,非常适合小白入门 目前最全最火的swift学习资源和笔记,非常...

    BBCo - iOS开发入门教程 SwiftUI 微博App项目实战 零基础学习Swift编程.zip

    本教程旨在帮助初学者从零开始学习Swift编程,并通过实战微博App的项目开发,掌握iOS应用的基本构建过程。 一、Swift语言基础 Swift是Apple为iOS、iPadOS、macOS、watchOS和tvOS开发的开源编程语言。它的设计目标是...

Global site tag (gtag.js) - Google Analytics