【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part23 Enum
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part23 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part22 コンストラクタ
今回からEnumの学習を行います。
Enum
Dartでは列挙型も実装されています。
列挙された項目には宣言準にindex
が割り当てられます。
先頭の項目のindex
は0です。
すべての列挙値を取得するにはvalues
プロパティを使用します。
enum Color {red , green, yellow}
void main() {
var list = Color.values;
for( var item in list) {
print(item);
}
}
switch
文で使用する際はすべての列挙値を使用しないと警告がでます。
これは面白い機能ですね!もれなく実装しているか自動でチェックしてくれるなんてありがたいです。
enum Color {red , green, yellow}
void main() {
var list = Color.values;
for( var item in list) {
print(item);
}
var hoge = Color.green;
switch(hoge) {
case Color.red:
print('赤です');
}
}
DartPadでも確かに警告が出ていますね。
制限事項
extends, with, implementsすることはできません。
継承できないし、ミックスインもできない、インターフェイスとしての利用もできないということですね。
明示的にインスタンス化することはできません。
最後に
最近の言語は当たり前なのかもしれませんが列挙型にインデックスプロパティがあるのは便利でよいですよね。
列挙型を使うとコードを読みやすくなりますしなによりチーム開発での思い違いや不具合も減ります。
活用していきたいと思います。
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません