dart语言学习整理01
本人显示根据视频学习了一轮,现在根据官网文件进行知识回归,主要是搞清楚学习时忽略的一些基础知识以及巩固。一下知识均来源于自己对DART官方网站知识的整理
正文开始:
重要概念
- 任何保存在变量中的都是一个对象,所有对象都对应一个类的实例。所有对象都继承object类
- 如果要明确说明不需要任何类型用dynamic声明
- dart支持泛型,List或List
- dart支持顶级函数"mian()",同样函数绑定在类或对象上(静态函数、实例函数),支持函数创建函数
- dart支持顶级变量 静态变量 (final修饰 )实例变量
- dart没有 public、protected、private,用下划线(_)开头,表示该属性对于类是私有的
- dart工具有两种类型问题 :警告(可能会导致代码无法正常运行 还是可以编译),错误:(编译时或者运行时错误,编译时会阻止代码执行)
关键字
- abstract: 抽象类
- dynamic:表示泛型
- implement:一个类可以通过 implements 关键字来实现一个或者多个接口, 并实现每个接口要求的 API
- show :配合import关键字一起用,选择需要导入的内容
- as转换类型 ,is 判断是该类型则进入下一步 ,is!不是该类型则进入下一步
- static: 修饰类变量和类方法
- assert : 如果 assert 语句中的布尔条件为 false , 那么正常的程序执行流程会被中断。
// 确认变量值不为空。 assert(text != null);
----只在开发环境会被执行 - switch 和 case :
var command = 'OPEN'; switch (command) { case 'CLOSED': executeClosed(); break; case 'PENDING': executePending(); break; case 'APPROVED': executeApproved(); break; case 'DENIED': executeDenied(); break; case 'OPEN': executeOpen(); break; default: executeUnknown(); }
- awit 和 async : 使用 async 和 await 关键字的代码是异步的。 虽然看起来有点想同步代码。 例如,下面的代码使用 await 等待异步函数的执行结果。
Future checkVersion() async { var version = await lookUpVersion(); // Do something with version }
- catch: 捕获异常可以避免异常继续传递(除非重新抛出( rethrow )异常)。 可以通过捕获异常的机会来处理该异常:
在这里插入代码片
- Final 和 Const表示常量,不同之处 final 初始化后不能改变、Const在编译时已经固定。(实例变量可以是 final 类型但不能是 const 类型。)
其他更多关键字请看官网Dart官网关键字