Dart 2.12 发布

栏目: 软件资讯 · 发布时间: 5年前

内容简介:Dart 2.12 已于昨日发布,此版本带来了稳定的空类型安全声明 (sound null safety) 和 Dart FFI。空类型安全声明可帮助开发者避免 null 错误——这类错误往往很难被发现。FFI (Foreign Function Interface) 是一种...

Dart 2.12 已于昨日发布,此版本带来了稳定的空类型安全声明 (sound null safety) 和 Dart FFI。空类型安全声明可帮助开发者避免 null 错误——这类错误往往很难被发现。FFI (Foreign Function Interface) 是一种互操作性机制,开发者可通过它调用使用 C 语言编写的现成代码,例如调用 Windows Win32 API。

Dart 2.12 发布

空类型安全声明 (sound null safety)

空类型安全声明 (sound null safety) 是自 Dart 2.0 引入声明类型系统 (sound type system) 以来,对 Dart 语言最大的补充。空类型安全 (null safety) 进一步增强了类型系统,让开发者在开发阶段即可捕获 null 错误,从而防止在生产环境出现崩溃,毕竟 null 错误是导致应用崩溃的常见原因。

Dart 的空类型安全支持基于三条核心原则

  • 默认情况下不可为空
  • 逐步采用空类型安全声明
  • 完全空类型安全声明

Dart FFI,用于将 C 类库与 Dart 集成

Dart FFI 让开发者能够利用 C 类库中现成的代码,以实现更好的可移植性,并且通过与高度调整的 C 语言代码集成以执行对性能要求较高的任务。从 Dart 2.12 开始,Dart FFI 已经脱离 beta 阶段,并被认为是稳定功能,可用于生产环境。此外还新增了嵌套结构和按值传递结构。

嵌套结构

C API 通常使用嵌套结构——即本身包含结构体的结构,例如以下示例:

struct Wheel {
  int spokes;
};
struct Bike {
  struct Wheel front;
  struct Wheel rear;
  int buildYear;
};

从 Dart 2.12 开始,FFI 也已支持嵌套结构。

按值传递结构

开发者可以在 C 语言代码中按引用和按值传递结构。FFI 以前仅支持按引用传递,但从 Dart 2.12 开始,开发者可以按值传递结构。这是两个同时通过引用传递和值传递的 C 函数的示例:

struct Link {
  double value;
  Link* next;
};
void MoveByReference(Link* link) {
  link->value = link->value + 10.0;
}
Coord MoveByValue(Link link) {
  link.value = link.value + 10.0;
  return link;
}

发布公告还详细介绍了 FFI 的其他内容,详情点此查看


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件框架设计的艺术

软件框架设计的艺术

[捷] Jaroslav Tulach / 王磊、朱兴 / 人民邮电出版社 / 2011-3 / 75.00元

本书帮助你解决API 设计方面的问题,共分3 个部分,分别指出学习API 设计是需要进行科学的训练的、Java 语言在设计方面的理论及设计和维护API 时的常见情况,并提供了各种技巧来解决相应的问题。 本书作者是NetBeans 的创始人,也是NetBeans 项目最初的架构师。相信在API 设计中遇到问题时,本书将不可或缺。 本书适用于软件设计人员阅读。一起来看看 《软件框架设计的艺术》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具