【发布时间】:2018-10-08 12:25:45
【问题描述】:
我尝试在函数中设置默认值:
bool isOnGoing([DateTime date = DateTime.now()]) {
...
}
但工作室返回“可选参数的默认值必须是常量”。
这种情况下如何设置默认参数?
【问题讨论】:
标签: flutter
我尝试在函数中设置默认值:
bool isOnGoing([DateTime date = DateTime.now()]) {
...
}
但工作室返回“可选参数的默认值必须是常量”。
这种情况下如何设置默认参数?
【问题讨论】:
标签: flutter
您使用的语法是正确的,但正如错误消息所说,该值必须是编译时间常数。
编译时间常数对于 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();
...
}
【讨论】: