>首页> IT >

编程语言Dart宣布正式引入Null safety:又是一新里程碑技术

时间:2020-06-15 14:58:50       来源:开源中国

Dart 团队宣布,Dart 编程语言通过其新的 null safety 功能的技术预览达到了一个新的主要里程碑。该团队表示,此功能已经开发了一年多,是自 Dart 2 以来 Dart 语言最大的新增功能。Null safety 现已可在 DartPad 版本中进行试用,并将于 2020 年底投入生产。

团队成员 Filip Hracek 和 Michael Thomsen 在帖子中写道:“Null safety 可以帮助你避免一类通常难以发现的 bug,并且作为额外的奖励,可以实现一系列的性能改进。”

Dart 是一种 type-safe 语言,这意味着编译器可以保证变量的类型,但是类型安全性本身不能保证变量不为 null。Null error 在 Dart 中是常见的,并导致 Dart 代码中出现了许多问题。

Null safety 为开发人员保证他们的代码不包含 null 元素。且 Null safety 在编写代码时会提供静态错误,因此开发人员不必等到代码在运行时编译后即可发现错误。

Dart 团队设计此功能时秉承的三个核心原则为:

它必须在默认情况下是 non-nullable,以便开发人员可以明确声明变量何时可以为 null。

它必须是逐步采用的,这意味着 null-safe 代码和 non-null-safe 代码可以在同一项目中一起存在。

第三,它必须 fully sound。

根据该团队的说法,Dart 的 null safety 是向后兼容的,不是突破性的变化。这意味着现有代码可以调用使用 null safety 的代码,并且 null safety 将在可用时成为可选功能。

从现在开始,其会添加更多新功能来逐步完善自身,例如添加迁移工具、pub.dev 上的标签(用于显示软件包是否支持 null safety)以及对 “pub outdated”命令的扩展,增加了对查找支持 null safety 的依赖版本的支持。

关键词: