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 团队设计此功能时秉承的三个核心原则为:
根据该团队的说法,Dart 的 null safety 是向后兼容的,不是突破性的变化。这意味着现有代码可以调用使用 null safety 的代码,并且 null safety 将在可用时成为可选功能。
从现在开始,其会添加更多新功能来逐步完善自身,例如添加迁移工具、pub.dev 上的标签(用于显示软件包是否支持 null safety)以及对“pub outdated”命令的扩展,增加了对查找支持 null safety 的依赖版本的支持。
有关 null safety 的更多信息及其代码示例,可参见此处。
评论删除后,数据将无法恢复
Dart 引入了 Null safety
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 团队设计此功能时秉承的三个核心原则为:
根据该团队的说法,Dart 的 null safety 是向后兼容的,不是突破性的变化。这意味着现有代码可以调用使用 null safety 的代码,并且 null safety 将在可用时成为可选功能。
从现在开始,其会添加更多新功能来逐步完善自身,例如添加迁移工具、pub.dev 上的标签(用于显示软件包是否支持 null safety)以及对“pub outdated”命令的扩展,增加了对查找支持 null safety 的依赖版本的支持。
有关 null safety 的更多信息及其代码示例,可参见此处。