连接选项字符串

时间:2017-04-14 17:04:08

标签: swift

我在xcode游乐场中有以下代码。

我正在使用xcode 8.2.1和swift 3.0.2

对代码的评论是操场上的输出。

var foo:String! = "foo" //"foo"
var bar:String? = "bar" //"bar"
let text = "text val = " + foo //"text val = foo"
let text2 = "text2 val = \(foo) " //"text2 val = Optional("foo") "
let text3 = "text3 val = " + bar! //"text3 val = bar"
let text4 = "text4 val = \(bar) " //"text4 val = Optional("bar") "

我无法理解为什么当我使用\(foo)和\(bar)将可选项连接到字符串时,可选的行为是相同的,当foo是一个隐式解包的可选项而bar不是。 不应该输出:

let text2 = "text2 val = \(foo) "

“text2 val = foo”

有人可以解释为什么表达式\(foo)不会展开吗?

0 个答案:

没有答案