我尝试在函数中设置默认值:
bool isOnGoing([DateTime date = DateTime.now()]) {
...
}
Run Code Online (Sandbox Code Playgroud)
但是Studio返回“可选参数的默认值必须恒定”。
在这种情况下如何设置默认参数?
您使用的语法是正确的,但是如错误消息所述,该值必须是编译时间常数。
编译时间常数对没有意义DateTime.now()。
解决方法是,可以使用:
/// Returns `true` is still going on.
///
/// [date] the date to check.
/// as default value `DateTime.now()` is used
/// if no value or `null` was passed.
bool isOnGoing([DateTime date]) {
date ??= DateTime.now();
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1983 次 |
| 最近记录: |