定数と変数
定数と変数
プログラムでは、一度書いたコードやデータを「使い回す」ことができます。
例えば、下記のような同じ質問を繰り返ししなければならないコードがあったとします。
1 2 3 4 5 6 7 |
// 一人目に対しての質問 print("あなたは何が好きですか?") print("りんごです") //二人目に対しての質問 print("あなたは何が好きですか?") print("みかんです") |
「あなたは何が好きですか?」という文字列データを「定数」を使って使い回してみましょう。
1 2 3 4 5 6 7 8 9 10 |
// 定数の宣言と代入 let quest: String = "あなたは何が好きですか?" // 一人目に対しての質問 print(quest) print("りんごです") // 二人目に対しての質問 print(quest) print("みかんです") |
「あなたは何が好きですか?」という文字列をquestという短い文字に入れて、同じ内容を表すことができました。let はこれから定数を作成(=宣言)しますよというコード、Stringは入れる(=代入する)データの種類を表しています。
また、「定数」という名前の通り、中身は一度定めたら変更することができません。
1 2 3 4 5 6 7 8 9 10 |
// 定数の宣言 let quest: String //代入 quest = "趣味はなんですか?" print(quest) // 再代入 quest = "出身地はどこですか?" print(quest) |
※宣言と代入は分けて書くこともできます。
上記のコードを、実際にPlaygroundに打ち込み確認してみましょう。
エラーが現れるはずです。varに変更しろ、という内容のメッセージが出ると思いますので、赤丸をクリックし、メッセージ横の「Fix」を押すと、コンピュータがlet をvarに訂正してくれます。
このvar を使った書き方は「変数」と言い、中身を変更する再代入ができます。
定数は再代入できない、変数は再代入ができる、という違いがあります。
再代入の必要がない時は定数を使い、値が意図せず変更されることを防ぎましょう。
let 定数名: 型 = 式 / var 変数名: 型 = 式
コード | 意味 |
let/var | これから定数/変数を作成しますよ、(=定数/変数の宣言)という意味のコード letは let XX 「仮にXXとする〜」という英語から varは variable(変数)という英単語から |
定数名 変数名 |
英数字とアンダーバー(_)で任意の名前をつけることができる
どういうデータを扱っているかわかりやすい名前をつける
頭文字は小文字で書く
(エラーにはならないが、型名や後に出てくるクラス名と区別するため)
|
型 | 定数/変数に入れるデータの種類を表す。文字列ならString、数値ならIntなど [:型]の部分は省略可能。(=型推論) 頭文字は大文字で表現する |
式 | 定数/変数に入れたい値やデータ、数式などをここに書く 定数/変数の中身を設定することを代入と言う |