Flutter 如何使用三元运算符(?:)或空合并运算符(??)写入if-else条件? if(country1!=null) { country1=“土耳其”; } 其他的 { country1=“ABD”; }
三元运算符使用三个操作数: 一种条件,后跟一个Flutter 如何使用三元运算符(?:)或空合并运算符(??)写入if-else条件? if(country1!=null) { country1=“土耳其”; } 其他的 { country1=“ABD”; },flutter,dart,Flutter,Dart,三元运算符使用三个操作数: 一种条件,后跟一个?, 后跟用于计算条件是否为“truthy”的表达式,后跟一个:, 后跟一个表达式,用于计算条件是否为假 所以在你的情况下,你想做的是: country1 = country1 != null ? 'Turkey' : 'ABD'; 编辑: 您似乎对??运算符有点困惑??称为空合并运算符 x = x ?? 'foo'; 相当于 if( x == null ) x = 'foo'; else x = *whatever the va
?
,
后跟用于计算条件是否为“truthy”的表达式,后跟一个:
,
后跟一个表达式,用于计算条件是否为假
所以在你的情况下,你想做的是:
country1 = country1 != null ? 'Turkey' : 'ABD';
编辑:
您似乎对??运算符有点困惑??
称为空合并运算符
x = x ?? 'foo';
相当于
if( x == null )
x = 'foo';
else
x = *whatever the value previously was*;
因此,如果我们在检查之前将x
设置为bar
,它不会更改为foo
,因为bar
不等于null
。另外,请注意这里的else
语句是多余的
因此,??
仅当变量先前为空时才会将其设置为某个值
在代码中,您试图分配两个值中的一个Turkey
或ABD
,如果前一个值为null,则不分配单个值。所以你得到了一个语法错误
总而言之
if() {}
else {}
可以使用三元运算符?:代码>
及
可以使用?
运算符缩短,因为此处的else语句只是多余的
因此,代码的等价物不会使用??运算符。语法:
var结果=a!=无效的条件为真则进一步编码:条件为假则进一步编码
在您的情况下:
var结果=国家1!=无效的“土耳其”:“阿布德” 您也可以这样做:
final result = "${country1 != null ? 'Turkey' : 'ABD'}";
你能补充一个详细的问题吗?你好,首先谢谢!我对null感到困惑。通常,我们可以对三元运算符使用双问句??是空检查运算符。例如:字符串国家=国家1??“ABD”,所以我想使用双重问题,而不是空检查。country1=country1!=??'土耳其':'阿布德';(代码给出错误)我能做什么?我知道了!谢谢医生
if() {}
else {}
if(){}
final result = "${country1 != null ? 'Turkey' : 'ABD'}";