Swift中案例陈述中的2种分配方式

Swift中案例陈述中的2种分配方式,swift,swift2,optional,Swift,Swift2,Optional,相同代码的这两个版本之间有什么区别?它们完全相等吗?如果是,为什么会出现这种不必要的混乱语法 let x : Int? = 42 if case let .Some(value) = x{ print("here's an x for ya \(value)") } 现在,让我们将let移动到parens中: if case .Some(let value) = x{ print("here's an x for ya \(value)") } 其他例子: enum E

相同代码的这两个版本之间有什么区别?它们完全相等吗?如果是,为什么会出现这种不必要的混乱语法

let x : Int? = 42

if  case let .Some(value) = x{
    print("here's an x for ya \(value)")
}
现在,让我们将let移动到parens中:

if  case .Some(let value) = x{
    print("here's an x for ya \(value)")
}
其他例子:

enum E {
    case A(Int, Bool?, Int, Double)
}

let e = E.A(4, true, -2, 2.4)
现在您可以执行以下操作:

if  case E.A(let n, .Some(let b), let m, let d) = e {

}
或者这个:

if  case let E.A(n, .Some(b), m, d) = e {

}
我不想把所有的
let
s都打出来,这会让人困惑