日更(五十四)-flutter-typedef
2019-02-23 本文已影响0人
Jlanglang
瞎扯
在写flutter的时候.点开源码,参数,常常会看到这个关键字
如果没接触js之类的语言,看到这个,还不太好理解.
翻译过来的意思:
typedef关键字,用来声明一种类型,当一个函数类型分配给一个变量时,保留类型信息。
实际是怎么回事呢?
其实可以把这个关键字定义的变量,看成一个接口
这和java不一样,java里是单独用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,这是个很少吹水,交流学习的群.
APP开发维护咨询群 : 492685472 ,承接APP迭代.开发维护.咨询业务,付费快速解决问题.