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

系统:macOS Sierra 10.12.6

工具:xcode8.3.1

语言:swift3.0.2

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

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

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

下面通过例子演示:

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

swift学习笔记 问号❓与感叹号❗️_第1张图片

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

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

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

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


swift学习笔记 问号❓与感叹号❗️_第2张图片

没有提示,运行成功

你可能感兴趣的:(swift学习笔记 问号❓与感叹号❗️)