// 一个构造函数
class Person {
String name;
int age;
String e;
String d;
// name,age是默认必须要用的,所以不可设置初始值,无需填参数名
// {}里的 e,d 必须设置参数名,e 必须有,d不是必须有(所以必须设置初始值)
Person(this.name, this.age, {required this.e, this.d = ''});
}
// 函数里的{} 表示设置参数名: xx 模式,b不是必须的,所以必须有初始值.
// c 是必须有的,所以没有初始值
void fio(String a, {bool b = false, required bool c}) {
return;
}
//----------------------------------------
void main() {
//XXX a = XXX('aaa');
print(XXX('aaa')('ok'));
}
class XXX<T> {
final String error;
XXX(this.error);
String call(T value) => value.toString();
}
前面的'aaa'参数是构造函数的导入参数,'ok'是隐藏函数call的导入参数,XXX('aaa')('ok')返回call的return 就是 'ok'