見出し画像

~Typedefsとは~ 複雑な型宣言を効率化してまとめておく【Dart】

List<int>やList<Map>のように頻繁に使用する場合がありますが、あらかじめオリジナルの型として宣言しておくと便利になると思います。今回はその一つの方法としてTypedefsを解説します。

宣言方法

typedef IntList = List<int>;

参照方法

  IntList il = [1, 2, 3];
  print(il);
  print(il.runtimeType);

printした結果

他のデータ型でも試してみる

typedef MapList = List<Map<String, dynamic>>;
MapList ml = [{'name':'John', 'id': 1}, {'name':'Bob','id':2}];
print(ml);
print(ml.runtimeType);

printした結果

Classを宣言してtypedefsで使用する

typedef PersonList = List<Person>;
PersonList pl = [new Person()];
print(pl);
print(pl.runtimeType);

printした結果

DartPadでのコード参照

void main() {
  IntList il = [1, 2, 3];
  print(il);
  print(il.runtimeType);

  MapList ml = [
    {'name': 'John', 'id': 1},
    {'name': 'Bob', 'id': 2}
  ];
  print(ml);
  print(ml.runtimeType);

  PersonList pl = [new Person()];
  print(pl);
  print(pl.runtimeType);
}

typedef IntList = List<int>;
typedef MapList = List<Map<String, dynamic>>;
typedef PersonList = List<Person>;

class Person {
  String? name;
}

まとめ

頻出するデータタイプの組み合わせをまとめて宣言可能にできるtypedefsですが、使いこなせれば大幅な時間短縮になると思います。新規プロジェクトの作成時などに使用してみると良いのではないでしょうか。

参考資料


初心者から始めるプログラミングスクールの紹介

我々Flutterラボは、大阪の梅田にあるコワーキングスペース『ONthe UMEDA』の料金プランとしてモバイルアプリ開発が学べるプログラミングスクールを運営しております。
オンラインではなく対面で学びたい方におすすめです。
※オンラインをご希望の方はFlutterラボのオンラインスクールをおすすめします。

以下のような方に適したプログラミングスクールです。

  • 大阪でFlutterを学びたい方

  • オフラインで現役エンジニアに教わりたい方

  • プログラミングの基礎から学びたい方

  • アプリを開発してみたい方

  • 初心者からスマホアプリをリリースしたい方

スタンダードコース

Flutter学習用のカリキュラムに合わせて、プログラミングの基礎からアプリ開発の応用まで学べるコースです。

プロコース

ご自身で開発したいアプリを、設計からリリースまですべてサポートするコースです。
ぜひ気軽にお問い合わせください。オフラインで受講ご希望の方はこちらからお問い合わせください。

この記事が気に入ったらサポートをしてみませんか?