微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在Swift中与选项进行模式匹配?

我不太喜欢if let语法和选项,我试图看看我是否可以让模式匹配工作.我在操场上尝试以下代码,但没有在println语句中看到任何输出.我究竟做错了什么?

let one:Int? = 1

switch one {
case .some(let numeral):
    println("Caught a \(numeral)")
default:
    println("nothing to catch")
}

解决方法

有点脱离上下文,但是:Playground不会在右列中打印println()语句.
您可以再次写入要读取的变量:

...
case .some(let numeral):
    println("Caught a \(numeral)")
    numeral
...

在这种情况下,您会看到{Some 2}.

或者您可以打开助理编辑器(查看 – >助理编辑器 – >显示助理编辑器)并阅读控制台输出以读取已评估的println().

在Xcode 6 beta-5之后编辑

使用Xcode 6 beta-5,您最终可以println(),您将看到右栏中的文本.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐