Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 参数为空时参数的默认值?_Dart - Fatal编程技术网

Dart 参数为空时参数的默认值?

Dart 参数为空时参数的默认值?,dart,Dart,有没有办法让它返回默认值,而不用编写特殊函数来检查参数并设置它 void main() { Thing stuff = Thing(text: null); print(stuff.text); } class Thing{ String text; Thing({this.text: "default"}); } 我有一个来自Firebase的映射,有时值将为null,我希望我的类在提供null时使用其默认值 Thing({text}) : this.text =

有没有办法让它返回默认值,而不用编写特殊函数来检查参数并设置它

void main() {
    Thing stuff = Thing(text: null);
  print(stuff.text);
}


class Thing{
  String text;

  Thing({this.text: "default"});
}
我有一个来自Firebase的映射,有时值将为null,我希望我的类在提供null时使用其默认值

Thing({text}) : this.text = text ?? 'default';
您需要添加这个小片段,因为构造函数中的默认值只有在没有指定值的情况下才起作用。
这个如果正在传递的值实际上为空,则null aware运算符只会使用“默认”值,如果未指定值,也会使用此值。

我得到一个错误,参数列表和初始值设定项中的字段都无法初始化。不管怎样,如果我完全按照您的示例操作,它会工作。