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

コメント

このブログの人気の投稿

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

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

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