本节目标
- 了解
弱类型
强类型
- 常见
强类型
有哪些 - 如何选着何时用那种类型
环境
- Dart 2.0.0
弱类型
var
如果没有初始值,可以变成任何类型
1 | var a; |
Object
动态任意类型,编译阶段检查类型
1 | Object a = 'doucafecat'; |
dynamic
动态任意类型,编译阶段不检查检查类型
1 | dynamic a = 'doucafecat'; |
比较 var 与 dynamic、Object
唯一区别 var 如果有初始值,类型被锁定
1 | var a = 'ducafecat'; |
强类型
申明类型
声明后,类型被锁定
1 | String a; |

常见类型
名称 | 说明 |
---|---|
num | 数字 |
int | 整型 |
double | 浮点 |
bool | 布尔 |
String | 字符串 |
StringBuffer | 字符串 buffer |
DateTime | 时间日期 |
Duration | 时间区间 |
List | 列表 |
Sets | 无重复队列 |
Maps | kv 容器 |
enum | 枚举 |
1 | String a = 'doucafecat'; |
默认值
一切都是 Object
, 变量声明后默认都是 null
1 | var a; |
assert
检查点函数,如果不符合条件直接抛出错误并终止程序进程
如何使用
- 在写 API 接口的时候,请用
强类型
,一旦不符合约定,接收数据时能方便排查故障 - 你在写个小工具时,可以用
弱类型
,这样代码写起来很快,类型自动适应
代码
参考
© 猫哥