String say(String from, String msg, [String devices]) {
var result = ‘$from says $msg’;
if (devices != null) {
result = ‘$result with a $devices’;
}
return result;
}
//不带可选参数调用这个函数
say(‘Rikka’, ‘Like LOL’);
//用第三个参数调用这个函数
say(‘Rikka’, ‘Like LOL’, ’ PUBG’);
6. 可选的命名参数
定义函数时,使用{param1, param2, …}放在参数列表的最后面,用于指定命名参数。例如:
//设置 [bold]和[hidden]标识
void enableFlags({bool bold, bool hidden}) {
// …
}
//在使用时需要标注参数名称:
enableFlags(bold: true, hidden: false);
Dart类库有非常多返回Future
或者 Stream
对象的函数。这些函数被称为 异步函数。异步嘛,肯定跟耗时是有关的。
在Dart中,使用 async
、await
关键词支持了异步编程。
1 . Future
Future
与JS中的