#5 Dartで学ぶ条件分岐の基本

Dartの条件分岐は、C言語系の言語に共通する標準的な書き方に加えて、null安全と組み合わせた便利な書き方が用意されています。この記事では、Dartにおける条件分岐の基本と、便利な書き方を解説します。

if文の基本

int age = 20;
if (age >= 18) {
    print("成人です");
} else {
    print("未成年です");
}

複数の条件を順に確認する

if (age >= 65) {
    print("高齢者です");
} else if (age >= 18) {
    print("成人です");
} else {
    print("未成年です");
}

switch文

候補が多い場合はswitchを使います。

switch (day) {
    case 1:
        print("月曜日");
        break;
    default:
        print("その他");
}

null安全と組み合わせた書き方

Dartには、値がnullでないことを確認しつつ処理を進めるif (value != null)という書き方に加えて、??を使った簡潔な書き方もよく使われます。

String displayName = nickname ?? "名無しさん";

「nullでなければその値を使い、値があれば処理を続ける」という書き方には?.も便利です。

int? length = nickname?.length;

三項演算子で短く書く

「条件によって値を1つ選ぶ」だけの単純な分岐は、三項演算子でも書けます。

String status = age >= 18 ? "成人" : "未成年";

ifを式として使う

比較的新しいDartでは、リストやウィジェットを組み立てる際に、コレクションの中で直接ifを使う書き方もできます。

final items = [
    "りんご",
    "みかん",
    if (showExtra) "ぶどう",
];

showExtraがtrueのときだけ"ぶどう"がリストに含まれます。Flutterで条件によって表示するウィジェットを切り替える際によく使われる書き方です。

Dartならではの注意点

Dartのswitch文は、比較的新しいバージョンで「パターンマッチング」という、より柔軟な条件分岐の書き方が追加されています。学習を進める中で情報を調べる際は、参照している資料がどのバージョンのDartを前提にしているか、少し気にしておくとよいでしょう。null安全に関わる??・?.は、Flutterのウィジェット構築で「値があるかもしれないし無いかもしれない」データを扱う際に非常によく登場するため、早めに慣れておくと読み書きがスムーズになります。

まとめ

Dartの条件分岐は基本的なif・switchに加え、null安全を意識した??・?.や三項演算子などの書き方が特徴です。Flutter開発でも頻繁に登場するので、慣れておきましょう。


本ページはプロモーションを含みます。

参考書籍(PR)

Dartをもっと学びたい方には「ゼロから学ぶFlutterアプリ開発」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

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

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

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