不为空 命令_Dart: 健全的空安全概览

本文介绍了Dart语言的空安全特性,包括如何声明非空变量、在列表、集合和映射类型中使用空安全,以及如何启用空安全。通过空安全,开发者可以在编译时捕获空值引用错误,提高代码质量。文章还提供了一些示例代码,帮助理解空安全的使用方式。
摘要由CSDN通过智能技术生成

Dart 语言即将 全面引入 健全的空安全机制了,当您选择使用空安全时,代码中的类型将默认是非空的, 意味着 除非您声明它们可空,它们的值都不能为空。有了空安全,原本处于您的 运行时 的空值引用错误 将变为 编译时 的分析错误。

今天的推送文章我们将概述空安全是如何影响 Dart 语言的。如果希望深入了解空安全性的工作原理,请关注我们的公众号推送,我们将于近期推送第二篇关于空安全的文章《深入理解 Dart 空安全》。

有了空安全,Dart 分析器可以进行更好的检查。例如:它将在您读取一个可空的变量前提示您进行空检查。由于 Dart 的空安全是十分有效的, Dart 编译器和运行环境也同时可以通过优化减少内部的空安全检查, 这样应用就可以更快且更小。

由于目前空安全仍然处于技术预览阶段, 所以 请勿在生产环境使用空安全。请注意,Flutter 目前尚未支持空安全。请通过 Dart SDK 测试这项特性, 并且给予我们反馈。

与空安全相关的新操作符和关键字有 ?!late。如果您曾经使用过 Kotlin、TypeScript 或 C# 进行开发, 那么这些空安全的语法看起来会有些熟悉。这是设计使然:Dart 语言的目标是不让您感到惊讶

您可以在您的项目设置里启用技术预览版 SDK(见本文下面章节),从而在您的项目里实践空安全。或者通过 支持空安全的 DartPad (nullsafety.dartpad.cn) 进行练习。

204155d6f9c5c33f85ab5d842038c6df.png
支持空安全的 DartPad 界面截图

创建变量

当您创建变量时, 您可以使用 ?late告诉 Dart 这些变量是否可空。

以下是一些声明 非空变量 的例子(假设您已经使用了空安全):

// In null-safe Dart, none of these can ever be null.
var i = 42; // Inferred to be an int.
String name = getFileName();
final b = Foo();

如果这些变量 可以 为空值 ( null ), 在类型声明处 加上 ?

int? aNullableInt = null;

在您已经明确一个非空变量一定会在使用前初始化, 而 Dart 分析器仍然无法明确的情况下, 您可以在变量的类型前 加上 lateÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值