[英]Conditional Operators (??) issues in dart
void main() {
print("Conditional Operators:");
// small if else
var a1 = 100;
var b2 = 20;
var istrue = (a1 < b2) ? 'True' : 'False';
print(istrue);
// check if null or print name
var name1;
var check = name1 ?? "This is Null";
print(check);
var name = "Abdulelah";
var checknot = name ?? "This is Null";
print(name);
}
我不知道如何在第 16 行黃色錯誤中解決此問題:
左操作數不能是 null,所以永遠不會執行右操作數。 嘗試刪除運算符和正確的操作數.dartdead_null_aware_expression
變量“name”不會是 NULL 因為你給他的值是“Abdulelah”,所以正確的部分?? "This is NULL"
?? "This is NULL"
不會被執行,刪除右邊的部分,警告就會消失。
使用??
我們在 null 案例中提供默認值。
a = x ?? y
上面的例子表明,如果x
返回/變成 null, y
將在a
上被初始化。 事實就變成了。
x
不是null
,則a = x
x
是null
,那么a = y
我們不使用if, else
而是使用??
提供 null 處理程序值。
編輯器在這里表現得很聰明,因為它知道name
不是 null,所以黃色消息說您不需要提供默認值,因為左表達式永遠不會是 null。
要創建null
變量,您需要使用
DataType? variableName;
在這種情況下,您正在初始化String
,您可以這樣做
String? name = "Abdulelah";
但這不是必需的,除非你想在name
變量上初始化 null 值。
你可以檢查
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.