只有一个人能界定你一生的成就,那就是你自己!
一、 简单的typedef
一个 typedef 可以把我们的函数签名指定为一个函数类型。函数签名由函数的参数(包括其类型)定义。返回类型不是函数签名的一部分。其语法如下。
typedef FunctionType = Function(Para_Type para);
哈哈,我产生了一个大胆的想法,既然FunctionType是一个函数类型,那么它的变量就得乖乖的接收函数的引用(dart中万物皆可引用),那么如下代码:
typedef FuncCallback = Function(int data);
void test(FuncCallback funcCallback) {
String f = funcCallback(3);
print("$f");
}
void main() {
FuncCallback fa = (int a){
return "接收到的参数是$a";
};
test(fa);
}
呀嘿!这不就是个回调吗?写的这么麻烦,垃圾......好吧!优化一下,看下面代码:
typedef FuncCallback = Function(int data);
void test(FuncCallback funcCallback) {
String f = funcCallback(3);
print("$f");
}
void main() {
test((int a) {
return "接收到的参数是 $a ";
});
}
还是不行?再简便点?OK!看下面代码:
typedef FuncCallback(int data);
void test(FuncCallback funcCallback) {
String f = funcCallback(3);
print("$f");
}
void main() {
test((int a) {
return "接收到的参数是 $a ";
});
}