Dart 2.12已发布 具有空安全性和C互操作性
作者:佚名 来源:彩虹下载站 时间:2021-03-09
空安全
空安全是一项非常出色的语言功能。它迫使您考虑变量是否会为空,并显式处理潜在的空情况,同时还可以保证特定的变量永远不会为空。
在Dart 2.12中,现在完全支持null安全,其语法类似于Swift和Kotlin。甚至还有智能广播,如果Dart确信正常可为空的变量不能为null,它将隐式将其强制转换为非可为空的形式。
由于null安全是一项(非常)重大的更改,因此该功能是可选的。如果您更新到Dart 2.12,则编译不会中断,也不必花费数小时向所有内容添加可空性提示。如果您的项目还不是null安全的,那么您甚至可以使用null安全的依赖项。
d
一旦确定要迁移,就可以使用内置的迁移工具(dart migration )和/或迁移指南进行所有设置。
此外,尽管Dart 2.12中包含了零安全,但是如果您创建新的Flutter或Dart项目,则不会立即启用零安全。您需要运行迁移工具或使用指南来启用它。
外部功能接口
尽管Dart(和Flutter的重点)是完全跨平台的兼容性,但是仍然有些事情需要本地完成。为了简化本机操作,Dart具有外部功能接口或FFI。FFI使您可以与Dart中的C代码进行交互,而不必诉诸基于字符串的怪异API调用或其他笨拙的互操作性方法。
借助Dart 2.12,FFI现在很稳定,这意味着它已准备好用于生产项目,并且功能齐全。
考虑到这一点,FFI进行了一些更改,包括一些重大更改。
此版本的重点主要在于如何将结构与Dart和C一起使用。其中之一,您现在可以按引用和值在C代码中传递结构,而以前仅支持引用。另一个重要功能是对嵌套结构的支持,此版本之前没有提供。
现在进行重大更改。如果您使用的是FFI,则可能需要更新代码才能使用2.12。使用此版本的FFI,您将无法再创建空结构。如果由于某种原因需要一个,则可以使用新的“ Opaque”类型。FFI内置功能的工作方式也有一些更改,您可以在此处阅读。
最后,还有一个用于FFI的新程序包,可用于从现有C头文件中生成FFI包装器,称为ffigen。如果您需要使用大量的C代码以及许多API方法,这将非常有用。即使您拥有的C代码量很少,这也是一个不错的便利功能。
更多资讯
-
金牌游戏:Vicious Attack骆驼启示录和皇家港口3现已免费
-
GoPro的新Quik应用程序可根据您喜欢的照片制作亮点卷轴
-
Star Citizen众筹资金突破3.5亿美元
-
中华万年历能在手机上使用吗_功能特色有哪些
-
pp助手正版为用户提供免费海量资源下载
-
lost life中文版下载_lost life如何提升小女孩好感度
-
gta3修改器实用性大吗 gta3修改器使用技巧
-
sai2笔刷如何使用?实用的使用技巧来了
-
幸存的火星在新工作室下重返开发 带来了新鲜的内容
-
全面战争:战锤2将于3月18日获得免费传奇英雄
-
回合制Roguelite RPG梅林之手将于5月登陆PC
-
微软通过Xbox Game Pass认真地升级了游戏