【发布时间】:2021-08-20 12:16:30
【问题描述】:
我有一个关于 Flutter 和 Null 安全性的问题。
例如我有这行代码:
Future<dynamic> isLoggedIn() async {
Account account = Account(client);
Response? result = await account.get();
if (result == null) {
print(true);
}
}
我已经用Response? 将result 标记为可空变量。所以result 可以为空。如果我检查 result == null,为什么 Visual Studio 会给我警告 The operand can't be null, so the condition is always false.?
我是否误解了 Null Safety 的概念? :-)
【问题讨论】:
-
account.get()返回什么类型? -
一般来说它是一个对象。
-
如果
account.get()不能返回null,那么将result标记为可空是没有意义的,因为它永远不可能是null。 -
是的。那讲得通。但是请求可以从服务器端返回 null 。所以我可以得到 null 作为结果。这就是问题所在:-)
标签: flutter dart dart-null-safety