スライス型
学習目標: 動的スライス型と高階関数の使い方を学びます。
所要時間: 20分
難易度: 🟡 中級
概要
スライス型 T[] は動的サイズの配列参照を表し、強力な高階関数を提供します。
基本構文
// 配列からスライスを作成
// 部分スライス
多次元スライス
// 2次元スライス
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
高階関数
map - 変換
各要素に関数を適用して新しい配列を返します。
// [2, 4, 6, 8, 10]
filter - 絞り込み
条件を満たす要素のみを抽出します。
// [2, 4]
reduce - 集約
全要素を1つの値に集約します。
// 15
find - 検索
条件を満たす最初の要素を返します。
// 4
some - 存在確認
条件を満たす要素が1つでもあればtrue。
bool has_even = nums.some((x) => { return x % 2 == 0; });
// true
every - 全件確認
全要素が条件を満たせばtrue。
bool all_even = nums.every((x) => { return x % 2 == 0; });
// true
チェーン呼び出し
高階関数は連続して呼び出せます:
.filter((x) => { return x % 2 == 0; }) // [2, 4, 6, 8, 10]
.map((x) => { return x * x; }) // [4, 16, 36, 64, 100]
.reduce(0, (acc, x) => { return acc + x; });
// 220
構造体のスライス
}
Person[] people = [
Person { name: "Alice", age: 30 },
Person { name: "Bob", age: 25 },
Person { name: "Carol", age: 35 }
];
// 30歳以上の名前を取得
.filter((p) => { return p.age >= 30; })
.map((p) => { return p.name; });
// ["Alice", "Carol"]
次のステップ
Last Updated: 2026-02-08