0
隐式解包可选项可以这样完成。为什么let variable = x语法不适用于三元运算符?
if let foo = foo {
print("foo")
} else {
print("bar")
}
我在游乐场练习,而我不明白的是为什么我不能用三元运算符做上面的那个。
let foo = foo ? print("foo") : print("bar")
// or
var result:String = (let foo = foo ? print("foo") : print("bar"))
我以为这是完全正常的,虽然尴尬,Swift的语法,因为三元操作评估表达式。我的怀疑是,let foo = foo
本身就是Swift必须处理的表达,但是这是来自像我这样的Swift新手。
我相信你的第一个例子称为'可选Binding' 。隐含地展开是“一些变化!”。 – Eendje
而你的第二个例子不起作用的原因是因为你在自己的初始值中使用'foo',因此错误:'在它自己的初始值内使用的变量'。 – Eendje
你试图用'let foo = foo'来实现什么 – 2016-02-14 06:36:24