🍎

[Swift] 変数と定数

2023/01/03に公開

定数(constants)

値の再代入が不可能なデータの「入れ物」。
定数に1度代入した後、再度代入をしようとするとエラーが発生します。

変数(variables)

値の再代入が可能なデータの「入れ物」。変数の型と代入したいもののデータ型が合っていれば再代入ができます。
Swiftの場合、どのような型の値を入れるかを宣言時に定義できます。

命名規則

定数・変数の宣言時には半角の英数字、_(アンダーバー)、Unicodeの文字が使用可能です。変数の識別子の先頭には数字が使えません。二文字目以降には使えます。
また、Swiftの言語で予約されている単語は変数・定数名などでは使えません(予約語)。
予約語のリストは以下です。
Keywords and Punctuation
https://docs.swift.org/swift-book/ReferenceManual/LexicalStructure.html#:~:text=Keywords reserved in particular contexts,unowned %2C weak %2C and willSet .

Mutable / Immutable

  • Mutable
    作成後、状態変化させることができるオブジェクト。
  • Immutable
    作成後、状態変化させることができないオブジェクト。

なぜ定数・変数のように別のものが必要?

開発者が意図していない値の上書きをされる事で予期しないバグが発生する事を避けるため。

定数・変数はどのように使い分ければいいですか?

最初は定数に値を代入して定義し、データが可変である事が確定しているデータだけを変数に変更するといいでしょう。

※適宜、加筆・修正を行います。

Discussion