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の効率的な勉強法を下記でご紹介しています。

【2022年版】Flutterの効率的な勉強法!具体的な手順を解説

本記事が参考になっていれば幸いです。

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

参考文献
Flutter関連の書籍を出版しました!