首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么SWIFT打印“可选(.)

为什么SWIFT打印“可选(.)
EN

Stack Overflow用户
提问于 2015-07-25 04:00:42
回答 1查看 3.5K关注 0票数 2

如果运行以下代码

代码语言:javascript
复制
var airports = ["YYZ": "Toronto Pearson", "DUB": "Dublin"]

print(airports["YYZ"])

为什么控制台要打印?

任择(“多伦多皮尔逊”)

为什么它要打印可选( withValue )而不仅仅是值?

我为什么要在控制台里知道呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-25 04:04:41

Swift为可能失败的操作提供了可选类型。像airports["XYZ"]这样的数组索引就是一个例子。如果找不到索引,它将失败。这代替了nil类型或异常。

打开可选类型的最简单方法是使用感叹号,如下所示:airports["XYZ"]!。如果值为nil,则会引起恐慌。

这是一些进一步的阅读。

您可以在Swift中链接选项类型的方法,如果左边的值是nil,它将提前退出到一个nil,而无需调用一个方法。当您在值和方法之间插入问号时,它会工作,比如:airports["XYZ"]?.Method()。因为值是nil,所以从不调用Method()。这允许您延迟是否处理可选类型的决定,并可以稍微清理代码。

要安全地使用可选类型而不引起恐慌,只需使用if语句提供备用路径即可。

代码语言:javascript
复制
if let x:String? = airports["XYZ"] {
    println(x!)
} else {
    println("airport not found")
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31622771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档