一,關於的typedef官方定義
- 官方說明:
In Dart, functions are objects, just like strings and numbers are objects. A typedef, or function-type alias, gives a function type a name that you can use when declaring fields and return types. A typedef retains type information when a function type is assigned to a variable.
- 大概含義
typedef 給某一種特定的函數類型起了一個名字,可以認為是一個類型的別名,可以類比class和對象這樣理解:自己定義了一種數據類型,不過這種數據類型是函數類型,一個一個的具體實現的函數就相當於按照這種類型實例化的對象會有類型檢查
二,Flutter中ValueChanged<T>的定義
typedef ValueChanged<T>= void Function(T value);
三,示例
typedef Fly = void Function(int value);
void main(){ Bird bird = Bird((int a){print(a);});//如果實參函數的類型不是該類型的話 編譯不通過 bird.fly(3); } class Bird{ Fly fly; Bird(this.fly); }