dart - 如何在省道条件下执行变量赋值时缩短代码?

  显示原文与译文双语对照的内容

下面是丑陋的长代码:


var i;
if(true)
 i = 1;
else
 i = 0;

当我尝试这样做的时候:


var i = (true? 0 : 1);

它不工作,导致以下行出现错误。 我想我有点不清楚省略的语法,所以谁能给我看看正确的方法。

时间: 作者:

从语法的角度来看,这看起来很不错。 你可以省略括号。

我在'1'处得到了一个警告'死代码',因为'true'。
Darteditor向你展示了一个提示,你编写了可以能包含 Bug的代码,因为他知道你的表达式无法计算为 1.


void main(List<String> args) {
 var b = true;
 var i = b? 0 : 1;
}

不产生警告。

...