开发语言•Dart
语言优势
- 简单性:Dart 是一门简单的静态语言,Java、Go 的语法相对复杂
- 可扩展性:适应 Flutter 的需要
- 高效性:Dart 代码最终编译成二进制指令代码
- 双模式编译
- 开发期间:Just In Time(即时编译) ,更快的代码重载,但会有些卡顿
- 打包后:Ahead Of Time(事前编译),编译成二进制代码,加载和执行都非常快
语言特点
- 强类型语言
- 支持函数式编程
- Dart VM(虚拟机)在内存回收和吞吐量都进行了反复的优化
- 相比于 Javascript,不支持反射,不支持动态创建函数
变量声明
var:一旦赋值,类型确定,不能再改变类型
Object:是所有对象的根基类(包括 Function 和 Null)
dynamic:声明的对象编译器会提供所有可能的组合
- Object 和 dynamic 声明的变量都可以赋值任意对象,且后期可以改变赋值的类型
const:是一个编译时常量,不可调用属性的内部方法
final:第一次使用时被初始化
- const 或 final 修饰的变量,变量类型可以省略
null-safety(空安全)
int? j;
可空类型,使用前必须判空late int k;
预期变量不为空,但不能确定初始值
late:延迟变量的初始化,直到变量首次被访问
函数
- 函数默认返回值类型 dynamic
- 函数能作为参数传递
mixin
- 通过 with 关键字可以组合成不同的类
异步
- Future 类似 Javascript 中的 Promise
- async/await 直接采用 Javascript 中的用法
Stream
- 处理连续的异步事件,可以一次生成多个值
- 例如,从网络或用户输入中接收数据