Skip to content

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;

  • 构造
  • 继承
  • 抽象类
  • 混入

class.dart in Github

By Modify.

选择字体进行切换