目錄
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);