使用或不使用“!”之间有什么区别?在Swift中?

Twlkyao

!标记用于Swift中的可选值,以提取其包装后的值,但无需以下即可提取该值!

var optionalString: String? = "optionalString"
println(optionalString)

另一个使用的示例!

var optionalString: String? = "optionalString"
println(optionalString!)

上面的两个代码都获得了正确的值,所以我想知道using和not using之间有什么区别!,如果可选值是nil或其他,它是否只是在运行时检测错误?提前致谢。

写作

正如其他人已经指出的那样,正式文档是一个很好的起点。该文档特别涵盖了该主题。

根据官方文档:

尝试使用!访问不存在的可选值会触发运行时错误。在使用!之前,请始终确保可选值包含非nil值。强制释放其价值。

println()可能不是测试!操作员工作方式的最佳方法没有它,println()将打印值或nil,使用它将打印值或崩溃。

主要区别在于,当我们尝试将可选值分配给另一个值或在函数的参数中使用它时。

假设optionalValue是一个可选的整数。

let actualValue = optionalValue

使用此分配,actualValue现在只是另一个可选的整数。我们根本没有解开价值。我们有一个可选的而不是整数。

与此同时,

let actualValue = optionalValue!

现在我们要强制展开。实际值将是一个整数,而不是一个可选的整数。但是,此代码将导致运行时异常为optionalValue为nil。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用@和不使用@识别之间有什么区别

来自分类Dev

使用或不使用“!”之间的区别是什么?在Swift中?

来自分类Dev

使用.newInstance()和不使用之间有什么区别?

来自分类Dev

使用MessageChannel和不使用MessageChannel进行网络消息之间有什么区别?

来自分类Dev

在Scala defs中使用和不使用“ =”之间有什么区别?

来自分类Dev

使用或不使用外键的引用之间有什么区别

来自分类Dev

使用MessageChannel和不使用MessageChannel进行网络消息之间有什么区别?

来自分类Dev

使用和不使用`New`关键字定义数组之间有什么区别?

来自分类Dev

在Python中使用类和不使用类之间有什么区别

来自分类Dev

在Swift 3.0中使用可选和不使用可选来声明非赋值变量有什么区别

来自分类Dev

将maven作为sudo和不使用sudo之间有什么区别吗?

来自分类Dev

使用或不使用Spring Beans有什么区别?

来自分类Dev

使用单位与不使用单位有什么区别?

来自分类Dev

使用和不使用 Invoke 有什么区别?

来自分类Dev

在Lua中,使用“:”的函数与不使用“:”的函数有什么区别?

来自分类Dev

“”和“之间有什么区别?” 和 ”!” 在Swift中?

来自分类Dev

Swift中的函数和方法之间有什么区别?

来自分类Dev

Swift中的NSDictionary与Dictionary之间有什么区别?

来自分类Dev

Swift中的属性和变量之间有什么区别?

来自分类Dev

当 CSS 中根本不使用 position 属性时,定义“位置:相对”有什么区别?

来自分类Dev

这些之间有什么区别?&我应该使用什么?

来自分类Dev

使用函数在setState中返回对象和直接使用对象之间有什么区别?

来自分类Dev

镜头的观看和使用之间有什么区别?

来自分类Dev

这些使用sh:or的形状图之间有什么区别?

来自分类Dev

使用=>和的哈希之间有什么区别?

来自分类Dev

使用SSH -Agent的那些方式之间有什么区别?

来自分类Dev

使用OKHttp,AsyncTask中的同步请求和OKhttp异步请求之间有什么区别?

来自分类Dev

在golang中,使用make与{}初始化的地图之间在性能上有什么区别

来自分类Dev

在Avro中,在GenericRecord上调用toString()与使用JSONEncoder之间有什么区别吗?

Related 相关文章

  1. 1

    使用@和不使用@识别之间有什么区别

  2. 2

    使用或不使用“!”之间的区别是什么?在Swift中?

  3. 3

    使用.newInstance()和不使用之间有什么区别?

  4. 4

    使用MessageChannel和不使用MessageChannel进行网络消息之间有什么区别?

  5. 5

    在Scala defs中使用和不使用“ =”之间有什么区别?

  6. 6

    使用或不使用外键的引用之间有什么区别

  7. 7

    使用MessageChannel和不使用MessageChannel进行网络消息之间有什么区别?

  8. 8

    使用和不使用`New`关键字定义数组之间有什么区别?

  9. 9

    在Python中使用类和不使用类之间有什么区别

  10. 10

    在Swift 3.0中使用可选和不使用可选来声明非赋值变量有什么区别

  11. 11

    将maven作为sudo和不使用sudo之间有什么区别吗?

  12. 12

    使用或不使用Spring Beans有什么区别?

  13. 13

    使用单位与不使用单位有什么区别?

  14. 14

    使用和不使用 Invoke 有什么区别?

  15. 15

    在Lua中,使用“:”的函数与不使用“:”的函数有什么区别?

  16. 16

    “”和“之间有什么区别?” 和 ”!” 在Swift中?

  17. 17

    Swift中的函数和方法之间有什么区别?

  18. 18

    Swift中的NSDictionary与Dictionary之间有什么区别?

  19. 19

    Swift中的属性和变量之间有什么区别?

  20. 20

    当 CSS 中根本不使用 position 属性时,定义“位置:相对”有什么区别?

  21. 21

    这些之间有什么区别?&我应该使用什么?

  22. 22

    使用函数在setState中返回对象和直接使用对象之间有什么区别?

  23. 23

    镜头的观看和使用之间有什么区别?

  24. 24

    这些使用sh:or的形状图之间有什么区别?

  25. 25

    使用=>和的哈希之间有什么区别?

  26. 26

    使用SSH -Agent的那些方式之间有什么区别?

  27. 27

    使用OKHttp,AsyncTask中的同步请求和OKhttp异步请求之间有什么区别?

  28. 28

    在golang中,使用make与{}初始化的地图之间在性能上有什么区别

  29. 29

    在Avro中,在GenericRecord上调用toString()与使用JSONEncoder之间有什么区别吗?

热门标签

归档