【Flutter/Dart】switch文の条件分岐|式の値ごとに処理を指定

Dartの条件分岐の1つ「switch文」の使い方を紹介します。

switch文はif文と同様に複数の条件を指定できます。switch文とif文の比較となるサンプルコードも紹介しておきます。

\ 世界最大級のオンライン学習サービス /

目次

switch文の使い方

switch (式) {
  case 値1:
    「式 = 値1」なら実行
    break;
  case 値2:
    「式 = 値2」なら実行
    break;
  case 値3:
    「式 = 値3」なら実行
    break;
  default:
    指定したどの「case」にも当てはまらない場合に実行
}

switch文では指定した式の値と一致するケースの処理を「case」で指定し、「default」ではcaseで指定した値と一致しない場合の処理を指定できます。

それでは全く同じ処理をする「if文」と「switch文」のサンプルコードを順に紹介します。

if文のサンプルコード

var direction = 'East';

if (direction == 'North') {
  print('北');
} else if (direction == 'East') {
  print('東');
} else if (direction == 'South') {
  print('南');
} else if (direction == 'West') {
  print('西');
} else {
  print('不明');
}

//結果
//東

if文のサンプルコードでは条件式に何度も「direction」が使われており少しごちゃごちゃしています。

switch文のサンプルコード

var direction = 'East';

switch (direction) {
  case 'North':
    print('北');
    break;
  case 'East':
    print('東');
    break;
  case 'South':
    print('南');
    break;
  case 'West':
    print('西');
    break;
  default:
    print('不明');
}

//結果
//東

switch文では条件分岐の対象となる「direction」は一度しか使われておらず全体的にスッキリしています。

default|どのcaseにも当てはまらない場合の処理を指定

var direction = 'South-East';

switch (direction) {
  case 'North':
    print('北');
    break;
  case 'East':
    print('東');
    break;
  case 'South':
    print('南');
    break;
  case 'West':
    print('西');
    break;
  default:
    print('不明');
}

//結果
//不明

switchで指定した式の値がcaseで指定した値と一致しない場合は「default」の処理が実行されます。

  • URLをコピーしました!
目次