Swiftでletとvarの違いとは?

Pocket

最初に一言で結論を言ってしまうと。

varは変数、letは定数

となります。

var 変数とは

定義すると、何度でも代入が可能なものです。

let 定数とは

一度値を代入すると、もう一度代入できないものです。

実際の使い分けの違い

以下のようにガリガリ君の値段は変わらないものとして扱い、消費税が変化するものと定義すると、それぞれの税率の消費税を計算することができます。

varとletの使い分けをするには

基本的にはすべてvarでも動きます。

しかし、今回でいう不変(であってほしいもの)を変数にしてしまうと、自分や他人がソースコードを触る際に間違って再代入してしまうという現象が考えられます。

なので、考え方は以下の流れで

  1. 再代入する可能性のないものはすべてletにする
  2. それ以外はvarにする

といった感じの考え方で、可能な限りletを使うが、再代入する可能性があり、letでは補えない場合はvarを使うと考えれば良いかと思います。

中級者以上になると「これをvarを使わずletで書き換える方法はないかな?」と考えるとより良いソースコードになるかもしれません。


【お願い】
1ミリでも役に立ったらTwitterのフォローかYouTubeチャンネルの登録のどちらかをお願いします!(エンジニアに役立つ情報を発信しています)
スポンサーリンク
  • このエントリーをはてなブックマークに追加