簡體   English   中英

“?”是什么意思? 該運算符在 dart 中的含義如下所示?

[英]What does "!" this operator means in dart when it using like below?

final user = FirebaseAuth.instance.currentUser;
                print(user);
                if (user!.emailVerified) {
                  print('User is veryfied');
                } else {
                  print('please verify');
                }

如果沒有它,我會收到一條錯誤消息,指出無法在用戶上訪問 Property emailVerified? 因為它可能是 null

但是當我添加? 這是為了避免它

我收到此錯誤“布爾值”類型的值? 不能分配給 bool 類型的變量,因為 'bool?' 可以為空,而 'bool' 不是。

當你添加一個? 這意味着它可以有一個值或 null。 但如果你添加。 這意味着該值不能是 null 但我們不確定該值..

現在例如,如果您確定用戶可用,那么您可以添加

user!.emailVerified;

例如,如果您不確定,那么您可以添加

user?.emailVerified

現在如果用戶在第二種情況下是 null 那么它不能用於條件,因為 null 不是真或假這樣的條件。 所以你可能也必須提供一個默認值

(user?.emailVerified ?? false)

這意味着如果之前的值為 null 那么它將使用 false

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM