在斯威夫特,我理解"让"定义一个常量。没问题。所以"让foo = 42"和"让foo:Int"合理。但我看到几个简单的例子,让foo"是没有赋值或类型规范的。例如" case bar(let foo):..."
当foo"让foo"本身就是这样的代码?
答案 0 :(得分:3)
此表示法用于绑定枚举的关联值。
以此为例:
let anOptionalInt: Int? = 15
switch (anOptionalInt) {
case .Some(let wrappedValue):
print(wrappedValue)
case .None:
print("the optional is nil")
}
这是有效的,因为Optional
是一个枚举。第一个表达式可以写成:
let anOptionalInt: Optional<Int> = Optional.Some(15)
有两种情况:.Some
和.None
。在.Some
案例中,有一个名为Wrapped
的关联值,而.None
案例没有关联值。
事实上,Optional.None
与nil
相同。