瞎扯
在寫flutter的時候.點開源碼,參數,常常會看到這個關鍵字
如果沒接觸js之類的語言,看到這個,還不太好理解.
翻譯過來的意思:
typedef關鍵字,用來聲明一種類型,當一個函數類型分配給一個變量時,保留類型信息。
實際是怎麼回事呢?
其實可以把這個關鍵字定義的變量,看成一個接口
這和java不一樣,jiava裏是單獨用interface修飾接口的,寫法和class一樣.
比如這個:
typedef IndexedWidgetBuilder = Widget Function(BuildContext context, int index);
IndexedWidgetBuilder
就是接口名.
Widget Function(BuildContext context, int index);
就是實際的方法.
有人會說,沒有方法名,
這就要說到lambda寫法了.
在java中寫那就是這樣的
(context, index)->{
}
在kotlin中就是這樣的
fun a(IndexedWidgetBuilder:( context:BuildContext, index:int )->Widget) {
}
這麼理解就比較容易懂了.
大致作用其實就是聲明一個匿名函數.當然這個關鍵字的作用不侷限於這個.
您的喜歡與回覆是我最大的動力-_-
交流羣:493180098