dart语法
类型(dart一切皆为Object的子类,即便是int类型,默认值null)
一类
- int
- double(双精度,没有float类型)
- bool
- String
- List
- Map
- Set
- dynamic
二类
- class(类为单extends,多实现implement)
- abstract class(支持抽象方法的类)
- mixins(with用来复用多个类之间的代码减少以耦合,with类不能有构造方法)
- 接口(有接口,但是没有interface关键字;普通类和抽象类都可被implement,但是被implement的类需要将其属性和方法都实现一遍)
非空安全
定义
1 | var test = null // 不需要显示定义 |
非空判断
- 安全调用运算符(?.)
- 强制解包(无,因为dart默认所有对象可空)
- Elvis运算符(??)
操作符
==
1 | 同java的== |
is
1 | 用于对象判断 |
构造方法(不能重载)
- 普通构造函数(Test())
- 命名构造函数(Test.fromJson(Map json))
- 常量构造函数(const Test()//创建编译器常量,不能有方法体)
- 工厂构造函数(factory Test(String type){}// 工厂模式可以返回对象)
析构函数(无)
常量
- final 运行时固定
- const 在编译期固定
类定义
1 | class Test{ |
定义枚举
1 | enum Test{ |
变量定义
1 | class Test{ |
方法定义
1 | class Test{ |
单例实现
1 | class Test{ |
异步实现
event queue
microtask queue