Dart
Start
安装 Dart SDK,安装完成之后通过drat --version查看其版本,确保安装成功。这是一个zip压缩包,解压后进入到其bin目录下
将这个目录如:【D:\soft\Dart\dartsdk-windows-x64-release\dart-sdk\bin】加到系统环境变量PATH中
【webStorm】不管是啥开发工具都安装一个Dart插件,之后配置Dart SDK【设置-->语言和框架-->Dart-->Dart SDK path】
对应的dart文件都可以通过dart index.dart命令来运行
声明变量
- var 变量
- const 常量 【编译时】
- final 常量 【运行时】
基本数据类型
字符串 String
数值
- int
- number
- double
布尔
列表
字典
动态类型
- dynamic:运行时可自由改变类型,无编译检查,方法和属性直接调用
- var:根据初始值进行推断类型,确定类型后类型确定,有编译检查,仅限推断的属性和方法
空安全机制
通过编译静态检查将运行时空指针提前暴露,将空指针异常从运行时提前至编译时,减少线上崩溃
| 操作符 | 符号 | 作用 |
|---|---|---|
| 可空 | ? | 声明可空变量 |
| 安全访问 | ?. | 对象为null时跳过操作,返回null |
| 非空断言 | !. | 开发者保证变量非空 (否则运行时崩溃) |
| 空合并 | ?? | 发者保证变量非空 (否则运行时崩溃 |
流程控制
- 分支
- if-else、switch-case
- 循环
- while、do-while、for
函数
- 未指定返回类型,则为dynamic
- 可选参数传递,使用
[]括号包裹 - 可选命名参数传递,使用
{}括号包裹
dart
String combine(String a, [String? b = "b", String? c = "c"]){
return a + (b ?? "") + (c ?? "");
}dart
showInfo("张三", sex: "男", age: "18")
void showInfo(String username, {String? age, String? sex}){
print('姓名:$username,年龄:${age ?? "无"},性别:${sex ?? "无"}')
}dart
Function test = () {
print("匿名函数");
};
void onTest(Function callback) {
callback();
}dart
int add(int a, int b) => a + b;类
- 构造
- 继承
- 抽象类
- 混入
