[英]Dart Flutter: The default value of an optional parameter must be constant when setting a default value to class constructor
[英]Dart class optional constructor parameter with default value leads to error
我是 Dart 的新手並且來自 TypeScript 我正在努力解決以下錯誤:
可選參數的默認值必須是常量。
對於此代碼:
class Counter {
int base;
List<dynamic> bonus;
Counter({this.base = 0, this.bonus = []}); // Error here
// omitted counter methods
}
class OffensiveAttributes {
Counter oneHanded;
OffensiveAttributes(
{this.oneHanded = Counter(base: 0)}); // And error here
}
我想要實現的是,當創建一個新的OffensiveAttributes
實例時,您應該能夠將base
設置為2
例如。 我當然可以這樣做:
Counter oneHanded = Counter(base: 0);
OffensiveAttributes(
{this.oneHanded});
但是如果在創建實例時沒有傳入oneHanded
,我最終會得到一個我不想要的null
值。
如果我嘗試在Counter
添加const
和final
,當我需要使用add
或subtract
更改base
值時,我會卡住。
這樣做的正確方法是什么?
在這里,您需要傳遞如下所示的 const []
class Counter {
int base;
List<dynamic> bonus;
Counter({this.base = 0, this.bonus = const[]});
// omitted counter methods
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.