2017-09-08 22 views
-5

私はtutorial for Swift 4をフォローしており、Swiftの 'let'や 'var'の使用法がかなり矛盾していることが判明しました。Swiftの 'let'や 'var'の使い方を理解するには?

//in try catch : "let ... as" to match a error ? 
catch let(or var) printerError as PrinterError 
//in switch 1: "let .." to match a case pattern ? 
case let(or var) .result(sunrise, sunset): 
//in switch 2: "let ... where" pointless for me, why not just use someVar.hasSuffix ? 
switch: someVar { 
case let x(or var) where x.hasSuffix("pepper"): 

スウィフトでの使用方法の概要を教えていただけますか?


誰もが「let」と「var」の違いについて回答し、その質問を重複としてマークしているようです。しかし、私は最初の場所で元のポストで 'var'について何も言及しませんでした!

+0

可能な複製https://stackoverflow.com/questions/24002092/what-is-the-difference-between-let-and-var-in-swift – user3581248

+2

それは単に「let」だけではありません。それは 'catch let'と' case let'です。 [Swift Language Guide](https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-ID309)をお読みください。 )、基本、エラー処理、制御フロー/パターンマッチング。すべてが詳細に記述されています。 – vadian

+0

'let'は定数であり、変更されない変数です。あなたは 'var'を使うこともできますが、' let'はメモリの割り当てを節約します。 – LinusGeffarth

答えて

1

letは任意のデータ型の定数を宣言するために使用されるキーワードです。letを使用して値を宣言できますが、プロジェクトから値を変更することはできません。これがlet定数であることを示すエラーを返します。その値を親切に変更したい場合はvarに変更します。ここで、varは変数に使用されるキーワードです。

let x: Int = 5 
let string : String = "Hello! World" 

上記の値は一定であり、これらの値を決して変更することはできません。

var x: Int = 5 
var string: String = "Hello! World" 

上記の値は変数です。コード内の任意の場所で値を変更することができます。

1

VARはあなたの例のようにを結合

レットはまた、オプションののために使用されている変数のためのものであるが定数のために使用されてみましょう。オプションのバインディングを使用して、オプションに値が含まれているかどうかを調べる場合は、その値を一時的な定数または変数として使用できるようにします。

0

letは定数を宣言するためのキーワードです。 定数を情報を格納するボックスと考えてください。

let name = "Bob" 

"let"は定数を宣言するキーワードです。

「名前」は、あなたの定数を割り当てる名前です。これはあなたの情報を格納するボックスです。あなたが望むものを名前にすることはできません。

"="右側の値(自分の情報)を "名前"定数に割り当てます。

"Bob"は、保存したい情報の値です。それはあなたが望むものであれ、何でもでき、それはあなたの定数に割り当てられます。

定数のために覚えておかなければならないことは、定数が不変であることです。一度宣言された値を変更することはできません。そのため、値は常に一定で変更されないため、定数と呼ばれます。

関連する問題