【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part24 typedef
「基礎 から 学ぶ Flutter 」という書籍で 学習 したことを ブログでアウトプットしていこうと思います。今回は Dart編 ( part24 )です。
前回
【 Flutter 】Flutter を 基礎 から 学習 ( Dart編 ) part23 Enum
今回はtypedefについて学習します。
typedef
typedef
キーワードを使うと関数型に別名の型を付けることができます。
C#でいうところのdelegate
のようなキーワードですかね?
// typedefを使わない例です。
class SortedCollection01 {
// Functionに?を付けないとコンストラクタで怒られます・・・不思議。
Function? compare;
// 本書ではf(Object a, Object b) と記載されているが警告がでました。
SortedCollection01(int Function(Object, Object) a) {
compare = a;
}
}
// typedefを使う例です。
typedef Compare = int Function(Object a, Object b);
class SortedCollection02 {
// Compareに?を付けなくても怒られません・・奇怪。
Compare compare;
SortedCollection02(this.compare);
}
最後に
フィールドで?
を付与する場合としない場合があるのはなんでしょうか?
Nullセーフがらみのことだと思っているのですが、Mapオブジェクトなどでもエラーとなったり😑
今日はここまで!
ディスカッション
コメント一覧
まだ、コメントがありません