如何实际检查 null 以符合 Dart 中的 Sound null-safety [重复]

Posted

技术标签:

【中文标题】如何实际检查 null 以符合 Dart 中的 Sound null-safety [重复]【英文标题】:How to actually check for null to comply with Sound null-safety in Dart [duplicate] 【发布时间】:2021-04-13 20:43:19 【问题描述】:

使用 Dart 的新“健全的 null-safety”功能检查 null 的推荐方法是什么,特别是为了让编译器停止抱怨,这不起作用:

我显然在访问之前检查 value.data 是否为空。

【问题讨论】:

@Dude 这可能会将null 分配给profile.profilePic,这可能是不允许或不希望的,而屏幕截图中的代码忽略了value.data == null 的情况 【参考方案1】:

只有局部变量会被提升。

如果你说

final temp = value.data;

if(temp != null) 
   profile.profilePic = temp.url;

它应该可以工作。

【讨论】:

哎呀,这个听起来很安全的东西很酷,但是如果我们想按规则玩的话,这需要添加很多代码。 总的来说还不错。我认为这是最糟糕的情况。【参考方案2】:

定义

yourVariable? aNullableInt = null;

【讨论】:

你能说得更具体点吗?

以上是关于如何实际检查 null 以符合 Dart 中的 Sound null-safety [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 if 检查进行 Dart 空安全 [重复]

如何在 Dart 中对 List<File> 进行排序,最后使用 null 对象

Dart Null-Safety - 执行 dart 迁移以升级到新的 null 安全性时出现范围错误

如何修复 Flutter 中的“正在检查 Dart SDK 版本... << 此时出乎意料”错误?

loadrunner 中的响应时间和实际不符合这是为啥

Dart/Flutter:快速检查 404 链接列表