如何定义使用具有默认值的可选构造函数参数初始化的私有 final 字段?

Set*_*add 4 dart

假设我有这种情况:

class Foo {
  final _bar;
  Foo([bar = 'hello']);
}
Run Code Online (Sandbox Code Playgroud)

在 Dart 中,_bar鉴于它是私有的,我该如何初始化?

Set*_*add 5

您可以使用初始化列表。

class Foo {
  final _bar;
  Foo([bar = 'hello']) : _bar = bar;
}
Run Code Online (Sandbox Code Playgroud)

初始化列表在构造函数体之前运行。