我尝试在函数中设置默认值:
bool isOnGoing([DateTime date = DateTime.now()]) {
...
}
但工作室返回“可选参数的默认值必须是常量”。
这种情况下如何设置默认参数?
最佳答案
您使用的语法是正确的,但正如错误消息所说,该值必须是编译时间常数。
编译时间常数对 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();
...
}
关于flutter - 如何在函数中设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52702274/