这些源代码来自flutter教程
小部件_buildRow(WordPair对){ 最终布尔已经保存= _saved.contains(pair); 返回新的ListTile( 标题:新文本( pair.asPascalCase, 风格:_biggerFont, ), 尾随:new Icon(//从此处添加行... 已经保存? Icons.favorite:Icons.favorite_border, 颜色:已经保存? Colors.red:null, ), // ... 到这里。 ); }
这部分是什么意思? 尾随:new Icon(//从此处添加行... 已经保存? Icons.favorite:Icons.favorite_border, 颜色:已经保存? Colors.red:null, ), // ... 到这里。 有人可以用相同的逻辑制作另一种形式的代码吗?我不明白这部分
答案 0 :(得分:2)
它是三元运算符(或简称if)。例如,以下内容等效:
if (COND) {
X = A;
} else {
X = B;
}
X = COND ? A : B; // if COND condition is met, execute A, otherwise execute B
请参阅此article。
在您的示例中,如果变量alreadySaved
为true,则使用Icons.favorite
和Colors.red
。如果alreadySaved
为假,则将Icons.favorite_border
与null
一起使用。
答案 1 :(得分:1)
如果是立即数,那么它基本上意味着是否要分配第一个值,否则(标有“:”)分配第二个值。
简单的例子:
Foldable
将分配1
Traversable
将分配2
也看到以下问题: Java Equivalent to iif function