Flutter

【Flutter/Dart】列挙型とは?概念や使い方を徹底解説!

こんにちは、テルプロです!

「列挙型(Enum)の使い方がわからない」とお悩みではないでしょうか?

テルプロ

本記事ではそんな悩みを解決していきます!

Flutter/Dartの基礎文法一覧

列挙型とは

  1. 複数の定数を1つのクラスとしてまとめられるもの
  2. インスタンス化することはできない

列挙型を理解する上で、押さえておくべきポイントは上記の2点のみです。

クラスやインスタンスが分からないという方は下記の記事をご参照ください。

では、詳しく解説していきます!

基本的な使い方

簡単解説

今回は「季節の英単語を日本語に翻訳したい場合」を例に挙げます。

Seasonという列挙型に、spring, summer, autumn, winterを入れたとします。列挙型は、ここに入れられたものに対してそれぞれの値(定数)を指定することができます。

そのため、Seasonがspringには「春」を指定したり、Seasonがwinterのには「冬」を指定したりすることができます。

列挙型は、今回の例のように複数の定数を1つのクラスとしてまとめたい際に用います。

では、実際の使用例を用いて解説していきます!

使用例

enum Enum名{
  列挙子,
  列挙子,
  列挙子,
  列挙子,
}
void main() {
// 引数[season]の値を列挙型[Season]の[spring]に指定している
  printSeason(Season.spring);
}

// 複数の定数を1つのクラスとしてまとめている
enum Season {
  spring,
  summer,
  autumn,
  winter,
}

// 引数[season]の値によって処理を変えている
void printSeason(Season season) {
  if (season == Season.spring) {
    print('春');
  } else if (season == Season.summer){
    print('夏');
  } else if (season == Season.autumn){
    print('秋');
  } else if (season == Season.winter){
    print('冬');
  }
}

//出力結果 春

簡単解説

上記は、季節の英単語を日本語に翻訳するプログラムです。

列挙型[Season]に、翻訳したい英単語を入れています。そして、英単語に対してそれぞれの日本語訳を定数として指定しています。

後は、引数[season]に翻訳したい英単語を指定するだけになります。

以上が、列挙型の基本的な使い方です。

まとめ

今回は【列挙型】の概念や使い方を徹底解説しました。

解説の通り列挙型は、複数の定数を1つのクラスとしてまとめたい際に用いるものとなります。Dartの文法をしっかりと押さえて、開発の幅を広げていきましょう。

▼以下では、私が実際にFlutter学習に使用した厳選のUdemyの動画をご紹介してます!
ぜひ参考にしてみてください!

最後までご覧いただきありがとうございました。ではまた!

参考文献
ABOUT ME
テルプロ
東京都在住のアプリエンジニア。大学では、ソフトウェア開発の研究に取り組む。長期のエンジニアインターンシップを経て、実務スキルを磨き、現在はフリーランスエンジニアとしても活動中。メインはモバイルアプリ開発。IT関連の記事監修も行い、技術の共有と普及に励んでいます。 監修実績(レバテックフリーランス
Flutter関連の書籍を出版しました!