文章目录

  • 一、独立主函数入口
  • 二、可空类型判定
  • 三、默认值设定
  • 四、完整代码示例
  • 五、 相关资源

一、独立主函数入口


在 dart 文件中声明 main() 函数 , 即可脱离 Flutter 环境 , 独立执行该 main 函数 ;

/// 可脱离 Flutter 环境独立执行的函数
void main(){print("main");
}

main 函数左侧有两个三角的图标 , 单击该按钮 , 即可执行该 main 函数 ;

二、可空类型判定


可空类型判定 : 不确定对象是否为空 , 通过 ?. 的方式调用 , ( 类似于 Kotlin 的可空类型调用 ) , ? 的作用是先判定是否为空 , 如果为空 , 就终止调用 , 不会报空指针异常 ;

/// 可脱离 Flutter 环境独立执行的函数
void main(){print("main");Student student;/// 1. 安全调用 : 不确定对象是否为空 , 通过 ?. 的方式调用/// ( 类似于 Kotlin 的可空类型调用 )/// ? 的作用是先判定是否为空 , 如果为空 , 就终止调用print("打印 student 名字 : ${student?.name}");}class Student{String name;int age;Student(this.name, this.age);
}

执行结果 :

main
打印 student 名字 : null

三、默认值设定


使用 ?? 可以为某个空值设置一个默认值 , 如果某个值没有获取到 , 或者获取到为空 , 可以为该变量或表达式设置一个默认值 ;

student?.name??"Tom"

上述代码的作用是如果 student?.name 值为空 , 则返回 “Tom” 默认值 ;

代码示例 :

  /// 2. 设置默认值/// 使用 ?? 可以为某个空值设置一个默认值/// 这里如果 student?.name 为空 , 则默认值是 "Tom"print("打印 student 名字 : ${student?.name??"Tom"}");

执行结果 :

打印 student 名字 : Tom

四、完整代码示例


完整代码示例 :


/// 可脱离 Flutter 环境独立执行的函数
void main(){print("main");Student student;/// 1. 安全调用 : 不确定对象是否为空 , 通过 ?. 的方式调用/// ( 类似于 Kotlin 的可空类型调用 )/// ? 的作用是先判定是否为空 , 如果为空 , 就终止调用print("打印 student 名字 : ${student?.name}");/// 2. 设置默认值/// 使用 ?? 可以为某个空值设置一个默认值/// 这里如果 student?.name 为空 , 则默认值是 "Tom"print("打印 student 名字 : ${student?.name??"Tom"}");}class Student{String name;int age;Student(this.name, this.age);
}

代码执行结果 :

main
打印 student 名字 : null
打印 student 名字 : Tom

五、 相关资源


参考资料 :

  • Flutter 官网 : https://flutter.dev/
  • Flutter 开发文档 : https://flutter.cn/docs ( 强烈推荐 )
  • 官方 GitHub 地址 : https://github.com/flutter
  • Flutter 中文社区 : https://flutter.cn/
  • Flutter 实用教程 : https://flutter.cn/docs/cookbook
  • Flutter CodeLab : https://codelabs.flutter-io.cn/
  • Dart 中文文档 : https://dart.cn/
  • Dart 开发者官网 : https://api.dart.dev/
  • Flutter 中文网 ( 非官方 , 翻译的很好 ) : https://flutterchina.club/ , http://flutter.axuer.com/docs/
  • Flutter 相关问题 : https://flutterchina.club/faq/ ( 入门阶段推荐看一遍 )

博客源码下载 :

  • GitHub 地址 : https://github.com/han1202012/flutter_app_hello ( 随博客进度一直更新 , 有可能没有本博客的源码 )

  • 博客源码快照 : https://download.csdn.net/download/han1202012/15463304( 本篇博客的源码快照 , 可以找到本博客的源码 )

【Flutter】Dart 技巧 ( 独立主函数入口 | 可空类型判定 | 默认值设定 )相关推荐

  1. 编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac)

    编写函数 int fac(int x)计算 x!的值.在主函数中输入 n 和 m 的值,通过调用函数 fac 计算m Cn 的值(要求分别用递归和非递归的方法编写函数 fac) 递归: #includ ...

  2. UE4 C++入门之路4-PostInitProperties函数详解(设置属性默认值的四种方法)

    PostInitProperties函数详解 前言 设置属性默认值的四种方法 一 声明时赋值 二 构造函数赋值 三 构造函数初始化列表 四 PostInitProperties 前言 也许在工作或者学 ...

  3. python主函数入口_python类 + mian()函数

    main函数 import sklearn import numpy as np print(sklearn) # print("hello") ra = np.random.ra ...

  4. 【强烈推荐】Java主函数入口,此篇文章极短极细,慎入

    祝大家早日学有所成,拿到满意[offer],快速[升职加薪],出任CEO,迎娶白富美,走上人生巅峰. 附带一张白富美的照片 怎么样是不是很短,是不是很细hhhh public class MainTe ...

  5. python调用函数传参时、有默认值的在中间 报错了_python的大坑:使用空列表作为默认参数,让我怀疑遇到了灵异代码...

    在python中,不要使用列表或者其他可变类型的数据容器作为默认参数.否则你很可能会遇到奇奇怪怪的问题. 如果你在调用某一个函数时,传了同样的参数,手动执行,每次结果都正确.但是用循环遍历重复多次执行 ...

  6. JavaScript中的函数中arguments、参数、默认值和表达式以及箭头函数

    箭头函数: 箭头函数虽然语法简洁.但也有很多场合不适用.箭头函数不能使用arguments.super和new.target,也不能用作构造函数.此外箭头函数也没有prototype属性. 1. 函数 ...

  7. 数据的完整性(正确性和准确性):分类-实体完整性:主键约束、唯一约束、自动增长列。域完整性-非空约束、默认值约束、检查约束。引用完整性-一对一、一对多、多对多

    文章目录 1 数据的完整性作用 2 完整性的分类 2.1 实体完整性 2.1.1 主键约束 primary key 2.1.2 唯一约束 unique 2.1.3 自动增长列 auto_increme ...

  8. python主函数入口_Python 入口函数(菜鸟入门)

    Python 入口函数(菜鸟入门) 最近在组内研究专项项目,其中的一个现有工具是用 Python 开发的,我的目标是对这款工具的流程进行优化.虽然可以找到对应的开发者了解现有流程,然后结合我的研究提出 ...

  9. 实验六(函数) 2.编写函数 int fac(int x)计算 x!的值。在主函数中输入 n 和 m 的值,通过调用函数 fac 计算Cnm 的值(要求分别用递归和非递归的方法编写函数 fac)。

    (Cnm是m在上n在下) 非递归法: #include<stdio.h>long fac(long);int main(){long m,n,a=1,b;scanf("%ld%l ...

最新文章

  1. MongoDB update修改器: 针对Fields的$修改器 $inc $set $unset
  2. python+xlrd+xlwt操作excel
  3. 【算法】常用的排序方法
  4. 计算机主机接线视频教程,电脑主板跳线怎么接?电脑机箱与主板跳线接法图解教程...
  5. ROC曲线与AUC以及LIFT
  6. array variable used in printf function
  7. 捷信达酒店管理系统密码修改SQL语句
  8. C语言实现二叉树的各种遍历及求解深度
  9. VS Newtonsoft的引用问题
  10. 使用git向远程库发布项目和下载项目步骤,结合gitee部署远程库,HTTPS\SHH上传下载情况详解
  11. python实现单例模式的几种方法实例详解
  12. html文字段落i排版,i排版怎么修改字体 字体排版详细介绍
  13. 面经分享:网友问我,怎样才能在谷歌匹兹堡办公室里写代码?上篇
  14. ajax到底怎么读呢
  15. 【无标题】关于CTF的相关知识
  16. 移动硬盘做PE启动盘的技巧
  17. Unity3D中MonoDevelop无法使用
  18. 微信小程序制作天气查询系统
  19. python项目实战:实现游戏敏感词汇过滤器
  20. 第13课:生活中的克隆模式——给你一个分身术

热门文章

  1. 索引原理,查询机制(转)
  2. legend3---阿里云如何多个域名指向同一个网站
  3. linq to sql实战
  4. python测试开发django-35.xadmin注册表信息
  5. synchronized关键字原理
  6. p,v原语解决和尚挑水问题
  7. 3,SQL语句及数据库优化
  8. [bzoj2055]80人环游世界[网络流,上下界网络流]
  9. 【EF Code First】 一对一、一对多的多重关系配置
  10. 上周热点回顾(12.8-12.14)