本节目标
- 了解
弱类型强类型 - 常见
强类型有哪些 - 如何选着何时用那种类型
环境
- 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 接口的时候,请用
强类型,一旦不符合约定,接收数据时能方便排查故障 - 你在写个小工具时,可以用
弱类型,这样代码写起来很快,类型自动适应
代码
参考
© 猫哥

