Flutter 我们可以根据条件强制设置参数吗?
正如我们所知,我们可以在Dart中使用三元运算符,如Flutter 我们可以根据条件强制设置参数吗?,flutter,dart,Flutter,Dart,正如我们所知,我们可以在Dart中使用三元运算符,如?和:,来控制流,如: String name = 1 == 1 ? "Jhon" : "Ryan"; 是否有条件强制设置参数 下面的代码不起作用,这里只是举个例子 class Person{ final String name; final int age; const Person({ this.name, name != null ? @required this.age : th
?
和:
,来控制流,如:
String name = 1 == 1 ? "Jhon" : "Ryan";
是否有条件强制设置参数
下面的代码不起作用,这里只是举个例子
class Person{
final String name;
final int age;
const Person({ this.name, name != null ? @required this.age : this.age});
}
不,你不能这样做
您可以使用assert
s检查条件,但这将是运行时,而不是编译时
实现这一点的最佳方法确实是为不同的目的使用不同的命名构造函数
随着空安全特性的到来,这将是一场噩梦。不一定是针对编译器,而是针对必须理解它的程序员。像
@required
这样的注释只能静态添加,而不取决于条件
在我看来,这似乎是@nvoigt提到的资产案例
班级人员{
最后的字符串名;
最终积分;
const Person({this.name,this.age}):断言(name!=null | | age!=null,“必须提供姓名或年龄”);
}
afaik您不能这样做,您可以使用的是assert(…)
though我会为不同的条件创建不同的命名构造函数,并在每个条件中设置需求them@AlexRadzishevsky我也这么想,但我想知道有没有办法谢谢你的回答:D