目录
Default parameter values(默认参数值)
-
function 中=>的用法
isNoble(atomicNumber) { return _nobleGases[atomicNumber] != null; } bool isNoble(int atomicNumber) => _nobleGases[atomicNumber] != null;
这个
=> expr
语法是{ return expr; }
形式的缩写。=>
形式 有时候也称之为 胖箭头 语法。注意: 在箭头 (=>) 和冒号 (;) 之间只能使用一个 表达式 – 不能使用 语句。 例如:你不能使用 if statement,但是可以 使用条件表达式 conditional expression。
-
Optional parameters(可选参数)
- Optional named parameters(可选命名参数)
调用方法的时候,你可以使用这种形式 paramName: value
来指定命名参数。例如:
enableFlags(bold: true, hidden: false);
在定义方法的时候,使用 {param1, param2, …}
的形式来指定命名参数:
enableFlags({bool bold, bool hidden}) {
// ...
}
- Optional positional parameters(可选位置参数)
把一些方法的参数放到 []
中就变成可选 位置参数了:
String say(String from, String msg, [String device]) {
var result = '$from says $msg';
if (device != null) {
result = '$result with a $device';
}
return result;
}
调用:
//下面是不使用可选参数调用上面方法 的示例:
assert(say('Bob', 'Howdy') == 'Bob says Howdy');
//下面是使用可选参数调用上面方法的示例:
assert(say('Bob', 'Howdy', 'smoke signal') ==
'Bob says Howdy with a smoke signal');
3. Default parameter values(默认参数值)
在定义方法的时候,可以使用 =
来定义可选参数的默认值。 默认值只能是编译时常量。 如果没有提供默认值,则默认值 为 null
。
void enableFlags({bool bold = false, bool hidden = false}) {
// ...
}
// bold will be true; hidden will be false.
enableFlags(bold: true);