class Product {
Product(this.name);
final String name;
}
class Product {
Product({this.name});
final String name;
}
答案 0 :(得分:1)
在第一个示例中,该参数是强制性位置(尽管您仍然可以传递null
)。
您可以这样称呼它:
new Product('Fred')
在第二个示例中,参数是可选的命名参数。
您可以这样称呼它:
new Product()
new Product(name: 'Fred')
另一个变体是可选的位置参数
class Product {
Product([this.name]);
final String name;
}
您可以这样称呼它:
new Product()
new Product('Fred')
始终必须在必需参数之后声明可选参数。
可选名称和可选位置不能组合。
答案 1 :(得分:0)
{ }
中的constructor
用于使构造函数参数为可选。
class Product {
Product(this.name);
final String name;
}
在上面的代码通知中,构造函数中的参数周围没有{ }
,因此在使用Product
类创建新对象时,必须提供name
class Product {
Product({this.name});
final String name;
}
在上面的代码中,name
参数是可选的,因为它周围有{ }
。因此,在使用此类创建对象时,可以跳过name
参数。