在java中,如果你想初始化一个静态变量,你可以在静态初始化块中编写代码,就像这样:
abstract class Dummy {
static final Map<String, object> cache = new HashMap();
static {
cache.add('foo', new Foo());
cache.add('bar', new Bar());
}
}
在这里我想问一下在 dart 中是否有类似的方法?Dart编程中的最佳编码实践是什么?
abstract class Dummy {
static final Map<String, dynamic> cache = <String, dynamic>{};
}
1条答案
按热度按时间4zcjmb1e1#
dart中没有静态初始化块,但您可以采用其他一些方法。
首先,如果你想做的只是在map中添加一些项目,你可以使用map文字语法:
另外,如果你只是想通过调用一些方法来初始化一个静态值,你可以使用级联表示法
..
,对于这个特定的例子,它看起来像这样:上面是使用cascade在map示例上调用
[]=
运算符,但是你可以使用cascade在map示例上调用任何方法。例如,我也可以调用remove方法:如果你需要做一些更复杂的事情,你也可以使用一个立即调用的函数文字
() {} ()
。