Apple の Swift 言語のlet
との違いは何ですか?var
私の理解では、これはコンパイル言語ですが、コンパイル時に型をチェックしません。混乱しています。コンパイラはどのようにして型エラーを知るのでしょうか? コンパイラが型をチェックしない場合は、実稼働環境では問題にならないのでしょうか?
に値を割り当てようとすると、このエラーが発生しますlet
。
プロパティに割り当てることができません: 'variableName' は 'let' 定数です。'let
' を 'var' に変更して変更可能にしてください
ベストアンサー1
キーワードlet
は定数を定義します。
let theAnswer = 42
はtheAnswer
後から変更できません。これが、weak
を使用して何も記述できない理由です。 は実行時に変更するlet
必要があり、代わりに を使用する必要があります。var
var
通常の変数を定義します。
興味深い点:
定数の値はコンパイル時に既知である必要はありませんが、値を 1 回だけ割り当てる必要があります。
もう一つの奇妙な特徴:
定数名や変数名には、Unicode 文字を含め、ほぼすべての文字を使用できます。
let ���� = "dogcow"
抜粋元: Apple Inc.「Swift プログラミング言語」iBooks。https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329
コミュニティウィキ
コメントでは回答に他の事実を追加するよう求めているので、これをコミュニティ ウィキの回答回答をより良くするために自由に編集してください。