1. ホーム
  2. スイフト

[解決済み】Swiftの`let`と`var`の違いは何ですか?

2022-04-16 08:38:41

質問

とはどのような違いがあるのでしょうか? letvar アップルのSwift言語で?

私の理解では、コンパイル言語でありながら、コンパイル時に型チェックをしない。それが私を混乱させる。コンパイラはどうやって型エラーを知るのでしょうか?もし、コンパイラが型チェックをしないのであれば、本番環境の問題ではないでしょうか?

に値を代入しようとすると、このエラーが出ます。 let :

プロパティに割り当てることができません: 'variableName' は 'let' 定数です。

let'を'var'に変更し、mutableにする。

どのように解決するのですか?

その let キーワードは定数を定義します。

let theAnswer = 42

theAnswer を後から変更することはできません。 このため weak を使っては書けません。 let . これらは 変化 を実行中に使用する必要があります。 var 代わりに

は、その var は通常の変数を定義しています。

気になること

定数の値 は、コンパイル時に知る必要はありません。 しかし、その値を一度だけ正確に代入する必要があります。

もう一つ不思議な機能があります。

定数や変数には、ほとんどどんな文字でも使うことができます。 の名前に、Unicode 文字を含む。

let ???????? = "dogcow"

からの抜粋です。Apple Inc. "The Swift Programming Language." iBooks. https://itunes.apple.com/WebObjects/MZStore.woa/wa/viewBook?id=881256329


コミュニティWiki

コメントは、回答に他の事実を追加することを求めているため、これを コミュニティ・ウイキ回答 . より良い答えにするために、自由に編集してください。