Dart程式設計中的空感知運算子
Dart 有不同的空感知運算子,我們可以使用它們來確保我們不會訪問空值,並以一種巧妙的方式處理它們。
主要有:
?? 運算子
??= 運算子
? 運算子
我們將在接下來的文章中逐一講解它們。
?? 運算子
?? 運算子僅當第一個表示式不為 null 時才返回第一個表示式。
示例
請考慮以下示例:
void main() {
var age;
age = age ?? 23;
print(age);
var name = "mukul";
name = name ?? "suruchi";
print(name);
}在上面的示例中,我們聲明瞭兩個變數,其中一個為空值,另一個不為空,包含一個字串值。我們在重新賦值變數時使用了 ?? 運算子。對於第一個變數,由於 age 為 null,?? 運算子將返回第二個值,即 23;在第二種情況下,name 變數不為 null,因此 ?? 運算子將返回第一個值。
輸出
23 mukul
??= 運算子
Dart 中的 ??= 運算子用於當且僅當值為 null 時才賦值。
示例
請考慮以下示例:
void main() {
var age;
var myAge = 24;
myAge ??= age;
print(myAge);
}在上面的示例中,我們有兩個變數,其中一個為 null,另一個包含一個 int 值。當我們嘗試將 age 變數的值賦給 myAge 變數時,它什麼也沒做,因為 age 為 null,因此 ??= 不會更改 myAge 變數的原始值。
輸出
24
? 運算子
? 運算子用於確保我們不會呼叫 null 值的函式。它僅當物件不為 null 時才呼叫函式。
示例
請考慮以下示例:
void main() {
var earthMoon;
var length = earthMoon?.length;
print(length);
}在上面的程式碼中,我們知道變數 earthMoon 的值為 null,因此當我們嘗試使用 ? 運算子在其上呼叫 length 函式時,沒有任何變化,length 變數也為 null 值。
輸出
null
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP