[解決済み】Swiftの`let`と`var`の違いは何ですか?
質問
とはどのような違いがあるのでしょうか?
let
と
var
アップルの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
コメントは、回答に他の事実を追加することを求めているため、これを コミュニティ・ウイキ回答 . より良い答えにするために、自由に編集してください。
関連
-
[解決済み] Swiftのstatic funcとclass funcの違いは何ですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swiftではクロージャの内部では常に[unowned self]を使うべきか?
-
[解決済み] SwiftでStringのサブストリングはどのように動作するか
-
[解決済み】==と===の違いについて
-
[解決済み】Xcode 6 Beta 4でアプリを実行すると「表示権限がないため、ファイル "MyApp.app" を開くことができません。
-
[解決済み】プロパティのゲッターとセッター
-
[解決済み] SwiftでNS_OPTIONSスタイルのビットマスク列挙を作成する方法とは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift: print() vs println() vs NSLog()
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swiftではクロージャの内部では常に[unowned self]を使うべきか?
-
[解決済み】Swiftでオブジェクトが与えられた型かどうかを確認する
-
[解決済み】String.substringWithRangeはどのように使うのですか?(または、SwiftでRangeはどのように動作しますか?)
-
[解決済み】Swiftでボタンに丸みを帯びたボーダーを付けるにはどうすればいいですか?
-
[解決済み】swift言語におけるstructureとclassの比較
-
[解決済み】Swiftで文字列を連結する方法は?
-
[解決済み】ReactiveCocoaとRxSwiftの比較 - 長所と短所?
-
[解決済み] ミュータブルとイミュータブルのオブジェクト