dart - dart 类中构造函数之间的区别
问题描述
class Product {
Product(this.name);
final String name;
}
class Product {
Product({this.name});
final String name;
}
解决方案
在第一个示例中,参数是强制性的位置参数(您仍然可以传递null
)。
你可以这样称呼它:
new Product('Fred')
在第二个示例中,参数是可选的命名参数。
你可以这样称呼它:
new Product()
new Product(name: 'Fred')
另一种变体是可选的位置参数
class Product {
Product([this.name]);
final String name;
}
你可以这样称呼它:
new Product()
new Product('Fred')
可选参数总是需要在强制参数之后声明。
可选命名和可选位置不能组合。
推荐阅读
- python - 如何将值保持在数字附近?
- python - 在 repl.it 中向数据库添加值不起作用
- git - 从 SVN 转换的 Git repo 有分支文件夹,应该在 git 分支上
- typescript - TypeScript 错误:类型 'string' 不可分配给类型 'number | ""'
- .htaccess - 为什么一个特定的 URL 会因 htaccess mod_rewrite 重定向而失败?
- java - TensorBuffer:字节缓冲区的大小和形状不匹配
- json - 如何使用 AspJson 循环收集?
- swiftui - 在 swiftui 中禁用或忽略 TabView 上的点击
- proxy - 当我使用带有 Nuxt.js 的 axios 进行 API 通信时,我收到一条错误消息 502 (Bad Gateway)
- homebrew - 卸载自制软件后删除 /opt/homebrew 是否安全?