Swift超入門講座
今回は
「定数と変数」についてです!
Contents
定数とは
定数とは、値を入れて置く名前のついた箱のことです。
引越しのときに使う段ボール箱を想像するとわかりやすいと思います。

(巷には定数・変数を箱と表現するのはよくないという話がたくさんありますが、僕は箱が一番わかりやすいと思います。より詳しい説明は今度するので待っててください)
どうやって作り、使うのか??
let 定数名 = 値
このようにして作る(定義する)ことができます。
例:birthDayという変数に19941209を代入し、print()で出力している
let birthDay = 19941209 print(birthDay) // 19941209
定数を定義するときはletが必要ですが、
使うときは必要ありません。
なんで定数・変数が必要なのか??
定数・変数はプログラミングにおいてとても基本的なものなので様々な使い道があるのですが、
まだプログラミング初心者の方でもイメージしやすいものだと、
「値に名前をつけることができるのでわかりやすい」
というメリットがあります。
先程の例をもう一度見てください
let birthDay = 19941209 print(birthDay) // 19941209
これって要は19941209を出力しているだけだし、
こうやって書いても問題ないのでは??
print(19941209) // 19941209
そうです、結果は同じです。
しかし、コードのわかりやすさが違うのです。
もう一度このコードを見てみましょう
print(19941209) // 19941209
このコードでは19941209がなんの数字なのか全く理解できないのです。
なんとなく生年月日っぽいけど、8桁のパスワードのようにも見えます。
それではもう一度、定数を使ったコードをみてみましょう
let birthDay = 19941209 print(birthDay) // 19941209
こちらのコードは19941209をbirthDayという定数に代入しているので、19941209が生年月日であることが一目でわかります。
これが定数を使うメリットです。
じゃあ変数ってなんなの??
変数も定数と似たものなのですが、違うところもあります。
変数の使い方
var 変数名 = 値
定数とほぼ一緒ですね。letかvarかの違いです。
変数と定数の違い
これは”変数”と”定数”という文字をよく見るとヒントが隠れています。
定数は定まった数
変数は変わる数
つまり、
定数は定まった、変更されることのない数で
変数は変える事ができる数
です。
変数と定数の違いをPlaygroundで確認
実際にPlaygroundで試してみましょう。
定数
定数を定義したあとに再度代入(再代入)をしようとしています。
しかし、エラーが出て不可能なわかります。
let birthDay = 19941209 birthDay = 19991231 // エラー
変数
let の部分を var に変更して、変数にしてみましょう。
var birthDay = 19941209 birthDay = 19991231
問題なく再代入できますね。
変数と定数どっちを使えばいいの??
今まで説明で多くの初心者の方は、
変数は再代入できるから、再代入できない定数よりも便利!
・・・と思われるかもしれませんが、
そうとも限りません。
実際にコードを書いてみるとわかりますが、使われるのは圧倒的に定数の方が多いです。
なぜ定数を使うの??
定数は値が変更されません。これはとても重要なことです。
現実の世界で例をあげてみます・・・
学生の頃の友達と久しぶりに学校の近くの思い出のラーメン屋行ったときに、いつもの醤油ラーメンを注文しました。
そのラーメン屋には思い出がたくさんあったので、自然と昔のことを思い出していました。
そんな風に高校の頃の青春に思いを馳せていると、お待ちかねの醤油ラーメンがテーブルにきました。
ワクワクしながら、一口すすってみると・・・
『味が違う!!!!!』
残念ですね。
期待していたものと違ったものになってしまっていたのです。
定数はこういったことが起こらないのです!
値が変わらないので、期待していた値と同じものが出てきます。
変数では思い出のラーメンの味のように変わってしまうことがあるのです。
それでは困ることがありそうですよね。
変えることができないようのは不便のように感じますが、実はとても大切な機能です。
プログラミングでは、
何かができない
ということが非常に重要になるということです。