#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿