dart特殊符号语法(一)
许久没有写博客。浏览以往的博客,是那么稚嫩。就让它们当成成长的照片吧。重新开始操起这个记录的爱好,一方面把它当成可以查阅的资料,方便自己;另一方面希望有帮助于人。由于个人能力,认知有限,如读者发现有纰缪之处,希望不吝指教。
今天分享下dart语言中的特殊符号语法使用。
?(问号)(Question mark)语法
dart3.0之后增加了?语法。
?定义变量
例子
String? variable = null;
解释
声明一个变量,这个变量可以是null。
当使用这个变量的方法时,需要先进行判定是否为null。这样来满足dart3.0的null compatible特性:
print(varialbe?.toLowerCase());
当编译器走到这里时,因看到variable是null,并且定义时就已经知道它潜在有可能是null,这是编程者设计时就已经预想到的,使用时有进行空预判(?.)所以就不再报错。
个人见解
增加了编程的可活跃范畴,是一个解放。Not bad!!!
?.引用也许是null的变量的函数、属性
例子
varialbe?.toLowerCase()
解释
再调用toLowerCase()方法前进行判定,如null则停止当前toLowerCase()的编译,但是整个编译流程会继续进行,而不把它当成是错误。这个通常和?定义一起配合使用。
个人见解
增加了编程的可活跃范畴,是一个解放。Not bad!!!
??双问号
例子
print(variable??"Other Value")
解释
假如不是空,那么使用它,假如是空,那么赋值为"Other Value"。
个人见解
通常用于取值时,短小精悍。你还能想到更简洁的处理吗?Brilliant!!!
??=双问号等号
例子
variable??="Another Value";
解释
假如不是空,那么就让它保持原样,假如是空,那么赋值为"Another Value"
个人见解
通常用于再赋值,短小精悍。你还能想到更简洁的处理吗?Brilliant!!!
...?三个点问号组合
例子
List? arr=[2,3,7];
[...?arr,8]
解释
假如arr不是空,那么就延长数组并假如新元素8;假如arr是空,那么就不对arr进行任何操作。
个人见解
通常用于数组增加元素,短小精悍。你还能想到更简洁的处理吗?Brilliant!!!
问号?与感叹号!的区别
当我们使用问号进行判定引用变量时及时是空也可以编译通过。如果是使用感叹号判定引用,那么再值为空时会就行throw exception。要使用何种,要根据您的程序场景需求。
关于late
例子
Class _MainPageState extends State{
late String variable;
@override
void initState(){
super.initState();
variable="Value";//如果没有这个赋值,那么将会抛出异常
}
}
解释
late 是一个承诺,答应的晚些做的事情,是必须要做的。
个人见解
对于一些需要网络读取,或者文件加载等类似慢获取的变量一般很适合使用。
2024-03-05 11:17:07 星期二(于常州)
dart特殊符号语法(一)的更多相关文章
- 史上最全的LaTeX特殊符号语法
史上最全的LaTeX特殊符号语法 运算符 语法 效果 语法 效果 语法 效果 + \(+\) - \(-\) \triangleleft \(\triangleleft\) \pm \(\pm\) \ ...
- dart的基本语法(一)
Hello world 安装dart的环境就不赘述了,无脑安装就可以了,安装过程中好像需要梯子(vpn),我装的时候失败好多次,我的梯子不能用了,准备不装了的时候,莫名其妙的装好了.迷の操作.惯例 ...
- Typora 使用 Markdown 嵌入 LaTeX 数学公式符号语法
博客园不支持渲染 LaTeX 数学公式,需要用到什么公式,请复制到您所用的支持 LaTeX 的编辑器中查看实现效果.Typora 可以渲染 LaTeX 数学公式. 目录 行内与独行 行内公式 独行公式 ...
- markdown特殊符号语法
符号 说明 对应编码 & AND符号 & < 小于 < > 大于 > _ ...
- Dart Memo for Android Developers
Dart Memo for Android Developers Dart语言一些语法特点和编程规范. 本文适合: 日常使用Kotlin, 突然想写个Flutter程序的Android程序员. Dar ...
- flutter--Dart基础语法(一)
一.前言 Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,Flutter 开源.免费,拥有宽松的开源协议,支持移动.Web.桌面和嵌入式平台. ...
- Flutter教程- Dart语言规范-知识点整理
Flutter教程- Dart语言知识点整理 Dart语言简介 Dart语言介绍 ① 注释的方式 ② 变量的声明 ③ 字符串的声明和使用 ④ 集合变量的声明 ⑤ 数字的处理 ⑥ 循环的格式 ⑦ 抛异常 ...
- CTEX里的函数、符号及特殊字符
CTEX里的函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{a} \acute{a} \check{a} \grave{a} \tilde{a} \hat ...
- 【转】LaTeX 符号命令大全
函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} ...
- LaTeX 各种命令,符号
函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} ...
随机推荐
- VS2013未能正确加载microsoft.visualstudio.editor.implementation.editorpackage
在用VS2013做项目,但是特别不顺利,这不,VS2013突然罢工了,连解决方案都打不开了,会出现如下的错误: 试了网上的各种解决方案,总算找到一个适合自己的,具体方法如下: 1.打开VS2013的& ...
- Linux 系统Apache配置SSL证书
在Centos7系列系统下,配置Apache服务器,给服务器增加SSL证书功能,让页面访问是不再提示不安全,具体操作流程如下. 1.第一步首先需要安装mod_ssl模块,执行yum install - ...
- axios请求失败,获取接口返回错误信息
一般vue项目都会对axios进行封装,后台统一规范默认让服务器对所有请求都返回成功,然后在成功的对象里面包装一层对象result,里面也包含code,msg,result信息,前端拿这个result ...
- 关于Docker容器中的DNS配置
Docker: 1.启动时指定: docker run --dns 8.8.8.8 busybox:latest 2.全局配置: vi /etc/docker/daemon.json { " ...
- (C语言)每日代码||2023.12.24||fwrite()可以写入字符数组中的'\0'
void test() { FILE* fp = fopen("test.txt", "w"); if (fp == NULL) { perror(" ...
- 微信小程序 Path2D 不支持 svg 路径的解决办法
问题 开发一个微信小程序项目的时候需要用到Path2D这个对象,但是发现小程序的Path2D对象不支持实例化的时候直接传入'svg path',导致下面的代码运行的时候报错(浏览器中可运行) #其它代 ...
- Java 将PDF转为PowerPoint (2行代码)
通过编程实现PDF转PPT的功能,可以自动化转换过程,减少手动操作的工作量,并根据需要进行批量转换.将PDF文件转换为PPT文档后,可以利用PPT的丰富功能和动画效果,达到更好的演示效果. 在Java ...
- 【译】介绍 MSTest Runner – CLI、Visual Studio 等
原文 | Amaury Levé, Marco Rossignoli, Jakub Jareš 翻译 | 郑子铭 我们很高兴推出 MSTest runner,这是一个用于 MSTest 测试的新型轻量 ...
- NC14402 求最大值
题目链接 题目 题目描述 给出一个序列,你的任务是求每次操作之后序列中 (a[j]-a[i])/(j-i)[1<=i<j<=n]的最大值. 操作次数有Q次,每次操作需要将位子p处的数 ...
- Linux常用的20个命令(上)
无论你是后端程序员还是前端程序员,都避免不了和Linux打交道.Linux的命令有很多,这里仅介绍常用的20个,方便快速查看,也欢迎大家作补充. 1.mkdir 命令 make directories ...