Swift配列 初期化の全パターン|空配列・既定値・リテラルの使い方を初心者向けに解説
生徒
「Swiftで配列を作りたいんですけど、どうやって初期化すればいいんですか?」
先生
「配列の初期化にはいくつか方法がありますよ。空の配列や、最初から値を入れた配列、同じ値を繰り返す配列など、状況に応じて使い分けます。」
生徒
「なるほど…。それぞれのやり方を具体的に教えてもらえますか?」
先生
「もちろんです!それではSwiftの配列を初期化する全パターンをひとつずつ見ていきましょう!」
1. 空の配列を初期化する方法
まず最初に紹介するのは、空配列の作り方です。中身が何も入っていない状態の配列です。
書き方は次のようになります。
var emptyArray1: [String] = []
var emptyArray2 = [Int]()
1つ目は文字列型(String)の空配列です。2つ目は整数型(Int)の空配列です。
[]は中身が空っぽという意味で、()は型を指定してから作る方法です。Swiftは型推論をしてくれるので、変数に代入する値から型を自動的に判断してくれます。
2. リテラルを使った配列の初期化
リテラルとは、実際のデータをそのまま書くことです。例えば、以下のようにデータを直接配列に書いて初期化することができます。
var fruits: [String] = ["りんご", "ばなな", "みかん"]
このコードでは、3つの文字列を含んだ配列を作成しています。リテラルは、角カッコ[]の中に、カンマ,で区切って値を書くだけなので簡単です。
Swiftの配列初期化の中でも、リテラルは一番よく使われる方法です。
3. 同じ値を繰り返す既定値の配列を初期化する
配列の中身をすべて同じ値で初期化したいときには、repeating:count:を使います。
var zeros = Array(repeating: 0, count: 5)
この例では、0という数字を5回繰り返した配列を作っています。
実際の中身は、次のようになります。
[0, 0, 0, 0, 0]
repeatingは「繰り返す」、countは「回数」という意味です。
4. 型推論で型を省略した初期化
Swiftでは、型推論(かたすいろん)と呼ばれる仕組みによって、型を書くのを省略できます。
var names = ["たろう", "じろう", "さぶろう"]
このコードでも、Swiftは中に文字列が入っているので[String]の配列だと判断してくれます。
とても便利な機能ですが、初心者のうちは明示的に型を書くことをおすすめします。理由は、コードが読みやすくなるからです。
5. 型を明示した初期化
配列の中に何のデータが入るのかを明確にしたいときは、型を明示します。
var scores: [Int] = [80, 90, 100]
これはInt型(整数型)の配列です。学校のテストの点数など、数値を扱いたいときに便利です。
6. 配列の初期化と同時に変数を定数にする
Swiftでは、letを使って定数として配列を作ることもできます。定数にすると、あとから中身を変更できなくなります。
let colors = ["赤", "青", "緑"]
この配列colorsには、「赤」「青」「緑」という文字列が入っていますが、あとで追加や削除はできません。
変更したくないデータには、letを使うと安全です。
7. 初期化だけしてあとで値を入れる
とりあえず空の配列を作っておいて、あとでデータを追加するパターンです。
var cities: [String]
cities = ["東京", "大阪", "福岡"]
このように、あとで中身を代入することもできます。varは変数なので、あとで自由に変更できます。
8. 配列初期化の目的に応じた使い分け
配列の初期化方法は、目的や使いたい場面によって使い分けることが大切です。
- 中身がないなら →
[]や()で空配列 - データが決まっているなら → リテラル(
["A", "B"]) - 同じ値を何度も入れたいなら →
repeating:count: - あとで代入したいなら → 空のまま宣言しておく
このようにして、Swift配列の初期化をマスターすれば、データの管理がとても楽になります。