#6 Dartで学ぶループの基本
Dartのループは、C言語系の言語に共通する標準的な書き方が基本です。この記事では、Dartにおけるループの基本と、Flutter開発を見据えた使い分けを解説します。
for文の基本
for (int i = 0; i < 5; i++) {
print(i);
}
for-in文でリストの中身を処理する
リストの中身を1つずつ処理したい場合は、for...inを使います。
var fruits = ["りんご", "みかん", "ぶどう"];
for (var fruit in fruits) {
print(fruit);
}
forEachメソッド
Dartには、リストに対して直接forEachを呼び出す書き方もあります。
fruits.forEach((fruit) {
print(fruit);
});
for...inとの違いは、forEachの中ではbreakやcontinueが使えない点です。途中でループを止める可能性がある処理にはfor...inを、単純に全件処理したいだけならforEachを、というように使い分けるとよいでしょう。
while文
int count = 0;
while (count < 5) {
print(count);
count++;
}
「最低1回は必ず実行してから条件を確認したい」場合はdo-whileを使います。
int count = 0;
do {
print(count);
count++;
} while (count < 5);
添字も一緒に取り出したい場合
for...inやforEachだけでは要素の番号(インデックス)が分からないため、番号も必要な場合はasMap()を組み合わせます。
fruits.asMap().forEach((index, fruit) {
print("$index: $fruit");
});
Dartならではの注意点
Flutterでリスト表示の画面を作る際は、こうした基本的なループをそのまま使うのではなく、ListView.builderのような専用の仕組みを使うのが一般的です。ListView.builderは画面に見えている部分だけを効率よく描画してくれるため、大量のデータを表示する場合に基本のループを使うより高速に動作します。基本のループはあくまで土台となる考え方として押さえておき、Flutter特有の書き方は別途学んでいくとよいでしょう。
まとめ
Dartのループはfor・for...in・whileが基本で、forEachという書き方も使えます(ただしbreakは使えません)。Flutter開発ではさらにListView.builderのような専用の仕組みも登場することを覚えておきましょう。
本ページはプロモーションを含みます。
参考書籍(PR)
Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿