広告

Flutterラボの

プレミアム会員になる

【Dart】【Flutter】列挙体(Enum)の使い道(プログラミング入門)

2020.10.09

Flutter毎日投稿がんばっていきます。
本日のお題は、列挙体(Enum)です。

実際、どういうときに列挙体を使うと良いか、一例を紹介したいと思います。

以下のコードで、Stringの変数(language)によってSwitch-Case文で分岐させています。

String language = 'Japanese';

switch (language) {
 case ('Japanese') : {
   print('日本語');
   break;
 }
 case 'English' : {
   print('英語');
   break;
 }
 case 'French' : {
   print('フランス語');
   break;
 }
 default : {
   print('言語名が存在しません');
   break;
 }
}

// 日本語

この記述では、以下のコードのようにCaseの条件で誤字してしまうと、もちろん上手くいきませんが、記述がプログラミング的に問題があるわけではないのでエラーが出ず、間違いに気付くことが難しいようになります。

画像1

こういった場合に、Enumを使うとコンパイルエラーを起こすことができ、誤字脱字等の間違いに気付きやすくすることができます。

まずは、Enumを定義します。

enum Language {
 Japanese,
 English,
 French
}

あとは、先ほどのSwich-Case文をEnumに書き換えるだけです。

Language language = Language.Japanese;

switch (language) {
 case (Language.Japanese) : {
   print('日本語');
   break;
 }
 case Language.English : {
   print('英語');
   break;
 }
 case Language.French : {
   print('フランス語');
   break;
 }
 default : {
   print('言語名が存在しません');
   break;
 }
}

// 日本語

もし『Japanese』を『japanese』に間違えてしまっても、Enumに定義されていないので、エラーを出してくれます。

画像2

これは静的型付け言語であるDartの良いとこでもありますね。

YouTubeで、初心者でもFlutterが学べる動画を公開しています。
ぜひ一度ご覧ください。

ハッチアウトスクール 【Flutter アプリ開発】 Flutterエンジニアを目指す! Flutterに対する興味がある! Flutterって何?教えて先生! そんな皆様に楽 www.youtube.com


Flutterラボ
hatchoutschool
FlutterとNuxtに関する知識を発信しています! 動画で学べる学習サイト『Flutterラボ』と『Nuxtラボ』を運営 Flutterラボ:https://flutterlabo.tech/ 広告のECサイトを開発(https://ec-ad.tech/)