2016-10-18 10 views
4

次のコードがどのように機能するかに違いはありますか?スウィフト変数の宣言と初期化

let x: Int = 4 

let x: Int 
x = 4 
+2

@KSigWyatt 'let'定数は、宣言後に初期化する前に読むことができないので、何も問題はありません。なぜ "適切なプログラミングスタイル"はそれを 'var'とするのでしょうか? – Hamish

+3

@KSigWyatt:最初に定数を宣言して後で値を割り当てるケースがあります(正確には1回ですが、場合によっては条件によって異なる場合があります)。ここの例:http://stackoverflow.com/a/30190231/1187415 –

答えて

7

let x: Int = 4 

は、非オプションの変数xを作成し、4にそれを初期化します。 xは問題なく使用できます。この1

let x: Int 
// Cannot do anything with x yet 
x = 4 

ない定義された値と非オプションの変数xを作成します。直接(例のように)または他のステートメントの結果によって、値に最初に代入することなく使用することはできません。試して使用すると、コンパイル時エラーが発生します。

-1

唯一の違いは、最初のものに変数を宣言していると同時に、それを割り当て、2つ目は、あなたが最初にそれを宣言し、それを割り当てることです。

しかし、市長の相違はありません。この1

+1

... 2つの命令を使用しているのに対し、2つ目のスタイルを使用して1を使用している点を除いて違いはありません。おそらく、あなたのコードは読みにくくなります。これは、より冗長なスタイルを使用することに対する優れた議論です。 –

+0

私が言ったことは、市長の違いはありません。 –

+0

毛を割ってはいけません。 「大きな違いなし」は、微妙な違いが実際にどのようなものであるかを説明する微妙な答えと同じではありません。 –

関連する問題