Dart 语言的空安全特性

这篇具有很好参考价值的文章主要介绍了Dart 语言的空安全特性。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

空安全是Dart 2.12版本新增的一项特性,可以有效地避免空指针异常的出现。事实上,空安全特性并不是Dart独有的,Kotlin、Swift、C#、TypeScript等语言都有此特性。在Dart语音中,空安全支持三条核心原则:

• 默认不可空:除非将变量显式声明为可空,否则它默认一定是要是非空的类型。

• 渐进迁移:开发者可以自由地选择迁移的时机,以及需要迁移的代码。并且,在一个项目中可能会同时存在空安全和非空安全的代码。

• 安全可靠:Dart的空安全在编译期间做了很多的性能优化。

由于Dar空安全是2.12 才提供的新功能,所以要在项目中使用空安全,需要在pubspec.yaml中添加版本配置,如下所示。

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模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Flutter 版本更新 和 dart SDK版本跟新

    报错啦怎么办? 找到了我的电脑里面dart SDK的位置, D:Flutterflutterbincachedart-sdk 我认为是dart的版本不够的时候,我就去下载新的dart SDK(下载地址:Archive | Dart ),然后去替换我之前的dart-sdk,然后就出现问题了,官方的flutter sdk中已经自带了匹配版本的dart sdk。所以不要自

    2024年02月14日
    浏览(32)
  • Dart - 爬取Android Studio历史版本信息

    整理Android Studio历史版本信息时发现有点多,于是想一劳永逸写一个简单的爬虫抓取一下数据并生成我想要的格式,又刚好还没用Dart写过爬虫,所以尝试用Dart开发一个。 Dart: 2.19.6 准备爬取的地址:https://developer.android.com/studio/archive。 robots.txt 文件地址:https://developer.android

    2024年02月03日
    浏览(29)
  • 【Flutter】Dart/Flutter SDK如何降低版本、回退到指定版本

    因为dart3.0以后不再支持 no-sound-null-safety;但是有些项目不得以切换到dart3.0以前继续使用运行项目 方法1: 通过 命令,将flutter降级为当前通道的上一个活动版本; 如果没有存在老版本则会提示 flutter downgrade There is no previously recorded version for channel “stable”. 这样的话则可以通

    2024年02月16日
    浏览(27)
  • Flutter Dart语言(05)异步

    该系列教程主要是为有一定语言基础 C/C++的程序员,快速学习一门新语言所采用的方法,属于在C/C++基础上扩展新语言的模式。 在Dart语言中,虽然没有像其他语言(如Java、C++、Python)中的传统多线程概念,但它采用了异步(asynchronous)编程模型来处理并发任务。Dart使用asy

    2024年02月14日
    浏览(29)
  • flutter的引擎,Dart语言概括

    Dart是谷歌开发的, 类型安全的 , 面向对象 的编程语言,被应用于 Web、服务器、移动应用和物联网 等领域。 dart是谷歌在2011年推出的编程语言。谷歌希望使用dart来取代JavaScript。谷歌是一个颠覆式创新公司,谷歌退出golang是为了取代java,c++。谷歌退出flutter就是为了取代R

    2023年04月22日
    浏览(35)
  • Flutter Dart语言(04)库操作

    该系列教程主要是为有一定语言基础 C/C++的程序员,快速学习一门新语言所采用的方法,属于在C/C++基础上扩展新语言的模式。 引入代码如下所示: 一般从官方网站:Page 1 | Top packages中 搜索需要的第三方库,打开项目中的配置文件,名为:pubspec.yaml,找到dependencies选项,这

    2024年02月14日
    浏览(32)
  • 【Flutter】下载安装Flutter并使用学习dart语言

    安装flutter, 并使用flutter内置的dartSDK学习使用dart语言。 编辑器: Android Studio fluuter 版本 : flutter_windows_3.13.1 内置dartSDK : 3.1.0 dart路径路径: flutter安装路径bincachedart-sdk flutter下载地址 官网的下载描述蛮详细的,直接用就行。 Android Studio 需要到官网下载安装包。 如果你c盘容

    2024年02月09日
    浏览(33)
  • CSS特性、背景属性和显示模式

    CSS特性:化简代码 / 定位问题,并解决问题 继承性 层叠性 优先级 继承性 继承性:子级默认继承父级的 文字控制属性 。 注意:如果标签有默认文字样式会继承失败。 例如:a 标签的颜色、标题的字体大小。 层叠性 特点: 相同的属性会覆盖: 后面的 CSS 属性覆盖前面的

    2024年02月09日
    浏览(33)
  • 前端成神之路-CSS(选择器、背景、特性)

    目录 前端成神之路-CSS(选择器、背景、特性) CSS 第二天 1. CSS复合选择器 1.1 后代选择器(重点) 1.2 子元素选择器 1.3 交集选择器 1.4 并集选择器(重点) 测试题 1.5 链接伪类选择器(重点) 1.6 复合选择器总结 2. 标签显示模式(display)重点 2.1 什么是标签显示模式 2.2 块级

    2024年02月08日
    浏览(35)
  • 使用纯flutter3.0版本,2个dart文件,搭建ChatGPT简易版聊天客户端程序(含openai与api2d版本)

    使用纯Flutter 3.0版本,仅需2个Dart文件,即可搭建ChatGPT简易版聊天客户端程序(包括OpenAI与API2D版本) 随着人工智能的快速发展,聊天机器人成为了现代社交和客户服务的重要工具。ChatGPT是OpenAI开发的一款基于深度学习的语言模型,能够模拟人类对话,实现智能化的对话交互

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包