2.17以前のEnum
enum Fruit { apple, orange, grape, }
このようにメンバーを定義するだけで、Javaのように中に定数を入れるようにするためにはExtensionを定義してあげないといけませんでした
extension FruitExt on Fruit { String get name { switch (this) { case Fruit.apple: return 'りんご'; case Fruit.orange: return 'みかん'; case Fruit.grape: return 'ぶどう'; } } }
2.17以降のEnum
enum Fruit { apple('りんご'), orange('みかん'), grape('ぶどう'); const Fruit(this.name); final String name; }
以上のようにすっきりと書くことができJavaとほぼ同じようになり、独自コンストラクタを定義できるようになりました。
注意
pubspec.yaml
にあるsdkの下限を2.17以上にしないとエラーになってしまいます
最後に
エキサイトではフロントエンジニア、バックエンドエンジニア、アプリエンジニアを随時募集しております。長期インターンも歓迎していますので、興味があれば連絡いただければと思います。今回の記事を読んで少しでも興味が湧きましたら是非応募お願い致します!!
就業型インターンの募集情報です! www.wantedly.com
募集職種一覧はこちらになります!カジュアル面談からでも構いません。 www.wantedly.com