如何像Kotlin中那样根据Dart中的if语句声明变量



如何根据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;

这将打印出与方法相同的答案。

最新更新