Swift変数と定数の使い方|varとletの違いを初心者向けに解説
生徒
「先生、Swiftでプログラミングするときに、varとかletってよく見かけますけど、どう違うんですか?」
先生
「良い質問ですね。varは変数を作るときに使って、letは定数を作るときに使います。変数は値を変えられるけど、定数は一度決めたら変えられないんです。」
生徒
「なるほど!でも具体的にどうやって使い分ければいいんですか?」
先生
「では、サンプルコードを交えながら、varとletの違いを丁寧に解説していきましょう。」
1. Swiftの変数とは?
変数とは、プログラムの中で値を入れる箱のようなものです。Swiftではvarを使って変数を宣言します。例えば次のように書きます。
var name = "太郎"
print(name)
太郎
この例では、nameという箱に「太郎」という文字を入れて、printで表示しています。さらに、変数は途中で値を変えることができます。
var age = 20
age = 21
print(age)
21
このように、変数は値を更新したいときに使います。
2. Swiftの定数とは?
定数とは、一度決めた値を変えないための固定された箱です。Swiftではletを使って定数を宣言します。例えば次のように書きます。
let pi = 3.14
print(pi)
3.14
piは円周率の値を表していて、途中で変更することはありません。そのため、letを使って定数として宣言します。もし無理に変更しようとすると、エラーになります。
let pi = 3.14
pi = 3.14159 // エラー
このように、変更しない値はletを使うのが基本です。
3. varとletの違いを理解しよう
ここで、varとletの違いを整理してみましょう。
- var(変数): 値を後から変更できる。
- let(定数): 値を一度決めたら変更できない。
たとえば、「年齢」や「カウント」のように変化するものはvar、一方で「誕生日」や「円周率」のように変わらないものはletを使うと考えるとわかりやすいです。
4. 型推論と型指定
Swiftでは、変数や定数に代入する値から自動的に型を判断してくれる型推論(かたすいろん)という仕組みがあります。例えば次のように書けば、自動で文字列だと判断されます。
var message = "こんにちは"
ただし、明示的に型を指定することもできます。
let number: Int = 100
ここではInt(整数型)を指定しています。型を明確にすると、大きなプログラムになったときに間違いを防ぐことができます。
5. 初心者が意識すべきポイント
Swiftでプログラムを書くときは、次のポイントを意識すると良いです。
- 変化する値なら
varを使う。 - 変わらない値なら
letを使う。 - できるだけ
letを使うと、プログラムが安全でミスが少なくなる。
例えば、買い物アプリを作るときに「合計金額」は変わるのでvar、「消費税率」は一定なのでletを使う、といった使い分けをするとわかりやすいでしょう。
6. varとletの使い分けのコツ
初心者のうちは、つい何でもvarで書いてしまいがちです。しかし、変更する必要がない値にはletを積極的に使うのがおすすめです。これはプログラムの安全性を高めるためです。
実際の開発現場でも、「まずはすべてletにして、本当に必要なときだけvarにする」という習慣を持つ人が多いです。この習慣を最初から身につけておくと、後で役に立ちます。
まとめ
Swiftで使われるvarとletは、プログラムを書く上で避けて通れない基本的な仕組みです。変化する値を扱うときは変数であるvar、変わらない値を扱いたいときは定数であるletを使うという考え方は、シンプルでありながらもアプリ開発のあらゆる場面で重要な判断基準になります。たとえば、ユーザーの年齢や買い物の合計金額など、実際に動かしている途中で値が変わる可能性があるものはvarで管理するのが自然です。一方で、消費税率やアプリ内の設定として変動しない情報はletを使うと、後から誤って変更してしまう心配がなくなります。
また、Swiftが持つ型推論という特徴によって、初心者でも直感的にコードを書き始められる点は大きな魅力です。値を書くだけで自動的に型を判断してくれるため、複雑な型指定を覚える前でも、動作を確認しながら学習を進められます。ただし、ある程度慣れてきたら、意図をより明確にするために型を指定する習慣を身につけると、後々のプログラムの読みやすさや保守性が大きく変わってきます。特にアプリが大きくなると、型が曖昧なままではエラーに気づきにくく、思わぬ不具合の原因になりやすいものです。だからこそ、型指定と型推論を状況に合わせて使い分けることが、Swiftを扱う上での大切なポイントになります。
さらに、実際に値を何度も更新するケースと、最初に決めた値を守りたいケースを自分の手で試してみることで、varとletの違いがより深く理解できるようになります。Playgroundで気軽にコードを書き換えながら試す方法は、初心者にとって特に有効です。「変更できる」「変更できない」という違いが実際のエラーとして表示されるため、ただ文章で読むよりも体感として理解が進みます。プログラミングの基礎は、実際に動かしながら覚えることで記憶に定着しやすくなります。
最後に、今回の内容を踏まえた練習用サンプルをひとつ紹介します。変数と定数の違いを意識しながら、値を変えたり、変えられない状態を確認したりして、自分の手で理解を深めてみてください。
// 変数と定数の動きを確認するサンプルコード
var count = 1
let message = "現在のカウントは"
print("\(message) \(count) です")
// 値を更新
count = 2
print("\(message) \(count) になりました")
// 次の行はエラーになるため実行できません
// message = "別のメッセージ"
情報を整理しながらvarとletの正しい使い分けを身につけることは、アプリ開発を支える基礎力になります。シンプルな違いであっても、大規模なプログラムになるほどその差が安全性や動作の安定につながるため、最初の段階から丁寧に意識して習慣化していくことがとても大切です。また、変数をどこで変更し、定数をどこで固定するかを明確に考えながらコードを書くことは、アプリ全体の構造を理解する助けにもなります。
Swiftは初心者でも扱いやすく、自分のアイデアを形にしやすい言語です。今回の学びをもとに、さらに実践的なコードへと挑戦しながら、自分だけのアプリ作成に向けて一歩ずつ進めていきましょう。
生徒
「今日の内容で、varとletの違いがだいぶわかってきました。エラーになる理由も体験すると納得できますね。」
先生
「そうですね。特に定数が変更できないという仕組みは、アプリを安定させるうえで大切な役割を持っています。最初のうちは実際に手を動かして慣れていくのが一番ですよ。」
生徒
「変わるものと変わらないものを意識すると、コードの書き方が少し整理されてきた気がします。」
先生
「その感覚はとても大事です。プログラムは整理すればするほど読みやすくなり、トラブルも減りますからね。これからも少しずつ工夫しながら書いていきましょう。」
生徒
「はい!もっといろいろ試して、自分でもアプリを作れるように頑張ります!」