2016-07-24 10 views
4

スウィフトでは、「let」は定数を定義することを理解しています。問題ない。 "let foo = 42"と "let foo:Int"を意味するようにします。しかし、単純に "let foo"が代入や型指定なしで書かれている例がいくつかあります。たとえば、 "case bar(let foo):..."Swift:case foo(let bar):型や割り当てなし?

"let foo"を単独で使用するとどうなりますか?

+0

表示して実行可能な例はありますか? – Alexander

+0

コードのどこかに 'case bar(Int)'のようなケース宣言があります –

答えて

3

この表記法は、関連する列挙値をバインドするために使用されます。

は、例えばこれを持っ:

let anOptionalInt: Int? = 15 

switch (anOptionalInt) { 
case .Some(let wrappedValue): 
    print(wrappedValue) 

case .None: 
    print("the optional is nil") 
} 

Optionalが列挙ですので、これは動作します。 .Some.None:2例があり

let anOptionalInt: Optional<Int> = Optional.Some(15) 

:最初の式は、のように記述することができます。 .Someの場合、Wrappedと呼ばれる関連する値がありますが、.Noneの場合は関連付けられた値がありません。

実際、Optional.Nonenilと同じです。

関連する問題