#7 Swiftで学ぶ配列の基本

Swiftの配列は、Kotlinと同じように「変更できるかどうか」を`let`・`var`で使い分ける、シンプルな仕組みになっています。この記事では、Swiftにおける配列の基本を解説します。

配列を作ってみる

var fruits = ["りんご", "みかん", "ぶどう"]

`var`で作った配列は、後から中身を変更できます。`let`で作ると、中身を変更できない配列になります。型を明示したい場合は`[String]`のように書きます。

var fruits2: [String] = ["りんご", "みかん", "ぶどう"]

値を追加・削除する

fruits.append("メロン") fruits.remove(at: 1)

値を追加するには`append()`、指定した位置の値を削除するには`remove(at:)`を使います。複数の値を一度に追加したい場合は`append(contentsOf:)`が使えます。

要素にアクセスする

print(fruits[0])

存在しないインデックスにアクセスすると、実行時エラー(クラッシュ)になります。安全にアクセスしたい場合は、範囲チェックを自分で行うか、後述の`for`で処理する方法を使いましょう。

配列を処理する

for fruit in fruits { print(fruit) } for (index, fruit) in fruits.enumerated() { print("\(index): \(fruit)") }

`map`・`filter`のような、配列全体をまとめて変換・絞り込みする関数型のメソッドもよく使われます。

let upperFruits = fruits.map { $0.uppercased() } let longNames = fruits.filter { $0.count > 2 }

Swiftならではの注意点

Swiftの配列は、`let`で作ると中身の追加や削除ができなくなります。「Kotlinのようにリストの種類自体を切り替える」のではなく、「変数の宣言(let/var)によって、配列全体の変更可否が決まる」というのがSwiftの考え方です。この違いを理解しておくと、他言語からの移行がスムーズになります。また、`map`や`filter`の中で使われている`$0`は「クロージャの最初の引数」を表す省略記法で、Swiftのコードでは頻繁に登場するため早めに慣れておくとよいでしょう。

まとめ

Swiftの配列は`let`・`var`によって変更できるかどうかが決まります。`enumerated()`でのインデックス取得、`map`/`filter`を使った関数型の処理もあわせて覚えておきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本