swift学习笔记 问号❓与感叹号❗️

系统:macOS Sierra 10.12.6

工具:xcode8.3.1

语言:swift3.0.2

在学习swift中,问号❓与感叹号❗️可谓是一大特色,但是使用起来,确实有那么一些容易让人迷糊,首先,明白这个两个符号在swift中的使用定义:

问号❓:问号暗示包含的值是可选类型,也就是说可能包含某个类型的值也可能不包含值。

感叹号❗️:当你确定可选类型确实包含值之后,你可以在可选的名字后面加一个感叹号(!)来获取值。这个惊叹号表示“我知道这个可选有值,请使用它。”这被称为可选值的强制解析。

下面通过例子演示:

此处,将字符串转换成Int类型,xcode会自动提示警告,为啥?

1、如果所转换的字符串刚好是Int,则返回相关值,即 123。

2、如果possibleNumber = “Hello”或者 🔥,则返回可能不包含值

所以在类型转换的时候,显示判断出possibleNumber的类型,然后依据类型所定义的值进行转换,而possibleNumber为String类型,所以存在转换Int为空的现象。

下面是改为感叹号模式,表示一定有值,在swift中nil不是指针——它是一个确定的值,用来表示值缺失


没有提示,运行成功

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容