![](/img/trans.png)
[英]Right way of using optional named parameters in Dart class constructor
[英]Optional Arguments in dart class constructor
為什么在嘗試構造我的構造函數時出現錯誤我想要一個命名參數但不是必需的我如何解決這個問題
class Task {
int id;
String title;
String description;
**Task({this.id , this.title , this.description}); // Giving me Errors here**
Map<String , dynamic> toMap()
{
return {
'id' : id,
'title' : title,
'description' : description,
};
}
@override
String toString() {
return 'Task{id: $id, name: $title, age: $description}';
}
}
如果您不希望required
arguments ,則必須通過在其類型中添加問號來允許它們為null
,因此 Dart 將知道它們不需要初始化。 像這樣:
int? id;
String? title;
String? description;
另一種解決方案是在構造函數中給它們一個默認值,但要小心為它們分配的值不會與代碼的 rest 沖突:
Task({this.id=-1, this.title='Title' , this.description = 'Description'});
選擇最適合您的方法:您還可以混合使用這兩種解決方案,例如使某些屬性可為空並為其他屬性提供默認值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.