一、背景
空安全是Dart 2.12版本新增的一项特性,可以有效地避免空指针异常的出现。事实上,空安全特性并不是Dart独有的,Kotlin、Swift、C#、TypeScript等语言都有此特性。在Dart语音中,空安全支持三条核心原则:
• 默认不可空:除非将变量显式声明为可空,否则它默认一定是要是非空的类型。
• 渐进迁移:开发者可以自由地选择迁移的时机,以及需要迁移的代码。并且,在一个项目中可能会同时存在空安全和非空安全的代码。
• 安全可靠:Dart的空安全在编译期间做了很多的性能优化。
由于Dar空安全是2.12 才提供的新功能,所以要在项目中使用空安全,需要在pubspec.yaml中添加版本配置,如下所示。文章来源:https://www.toymoban.com/news/detail-467816.html
environment:
sdk: '>=2.12.0 <3.0.0'
二、Nullable 和 non-nullable 类型
当你选择使用 null satety 特性时,所有的类型默认是非空的。例如如果声明了一个 String类型的变量,那么就意味着它一直包含字符串值。如果你想要一个 String 对象能够接收字符串值或null,那么就需要在类型声明后面加上?标识,一个声明为String?类型的变量可以包含字符串值或 null。文章来源地址https://www.toymoban.com/news/detail-467816.html
String? str1;
String str2;
// OK
str1 = null;
// 报错
str2 = null;
// OK
List<String?> str
到了这里,关于Dart 语言的空安全特性的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!