Dartのif文は、条件によって処理を変える基本文法です。Flutterでは、ログイン済みか、読み込み中か、エラーがあるかによって画面表示を変える時によく使います。
この記事の結論
if文は「条件がtrueなら実行する」ための構文です。else ifで条件を追加し、elseでどれにも当てはまらない場合を扱います。
基本のif文
final score = 80;
if (score >= 70) {
print("合格");
}
else ifとelse
条件が複数ある場合はelse ifを使います。最後にelseを書くと、どの条件にも合わない場合を扱えます。
final score = 55;
if (score >= 80) {
print("A");
} else if (score >= 60) {
print("B");
} else {
print("C");
}
比較演算子と論理演算子
- ==:等しい
- !=:等しくない
- > / >=:より大きい / 以上
- < / <=:より小さい / 以下
- &&:両方true
- ||:どちらかtrue
nullを判定する
nullになり得る値は、使う前にnullかどうかを確認します。??を使うと代替値も書けます。
String? name;
if (name == null) {
print("名前がありません");
} else {
print(name);
}
print(name ?? "ゲスト");
Flutterで表示を切り替える例
Widget buildMessage(bool isLoading) {
if (isLoading) {
return const CircularProgressIndicator();
}
return const Text("読み込み完了");
}
Flutterで使うときの考え方
Flutterのbuildメソッド内でifを使う場合、分岐ごとに返すWidgetの型や配置を分かりやすく保つことが大切です。複雑な条件は関数に切り出すと読みやすくなります。
よくあるつまずき
- =と==を混同する
- 条件が多すぎて読みづらくなる
- null判定せずに値を使う
- UIの中にビジネスロジックを書きすぎる
次に読む記事
- Dartのswitch文|条件分岐を読みやすく書く基本と使い分け — Dartのswitch文を初心者向けに解説します。if文との違い、case、default、enumとの相性、Flutterで状態ごとに表示を分ける例を紹介します。
- Dartのデータ型|int・double・String・bool・null安全を初心者向けに解説 — Dartの基本データ型を初心者向けに解説します。int、double、String、bool、List、Map、null安全、型推論の使い分けを確認します。
- Dartの文字列|Stringの作り方・埋め込み・改行・数値変換を解説 — DartのStringを初心者向けに解説します。文字列の作り方、変数埋め込み、複数行文字列、数値変換、FlutterのText表示で使う基本を整理します。
- Flutter初心者の学習順|環境構築からアプリ公開までのロードマップ — Flutter初心者向けに、学習順を環境構築、Dart基礎、UI、状態管理、API、Firebase、公開まで段階別に整理します。
まとめ
Dartのif文は、Flutterの画面表示や入力チェックの基本です。まずはif、else if、else、null判定、FlutterでWidgetを切り替える例を押さえましょう。