如何根据Dart中的if语句声明变量?在Kotlin,它看起来是这样的:
val max = if (a > b) {
a
} else {
b
}
在达特有可能吗?
@pskink在评论中的回答是正确的,但它没有说明在这种情况下如何做到这一点。以下是在您的场景中如何做到这一点:
final max= a > b ? a : b;
Dart的final
关键字与Kotlin的val
关键字相同。您将无法更改变量的值。您也可以在Dart中使用var
关键字,这与Kotlin的var
关键字相同。您可以在声明变量后更改其值。您可能会将其与单行代码混淆,因为其中没有任何if或else语句。上面的代码称为ternary operator
这里有一个解释:
(condition/expresssion) ? val1(if true execute this) : val2(if false execute this)
对于多个语句,我们可以通过将其类型声明为int来使用方法。
void main() {
print(declareVariable());
}
int a = 10;
int b = 30;
int declareVariable() {
if(b < a){
return 1;
}
else if(b > a) {
return 2;
}
else {
return 0;
}
}
编辑:
我们可以用同样的方式在一行中声明多个条件。
var singleLine = b < a ? 1 : b > a ? 2 : 0;
这将打印出与方法相同的答案。