内置的类型
- numbers
- strings
- booleans
- lists
- maps
- runes
- symbols
numbers 数值
数字类型的父类,有两个子类int和double
string 字符串
Dart 字符串是 UTF-16 编码的字符序列,可以使用点引号和双引号,而且可以嵌套。
使用\进行转义
使用三个单引号或者双引号可以创建多行字符串对象
使用r前缀可以创建原始字符串(不转义)
booleans
布尔值可以是false和true,类型名为bool
lists
1 2 3
| var list = [1,2,3]; var list = new List(1); var list = const [1,2,3];
|
maps
1 2 3 4
| var map = {'a':1,'b':2}; var map = new Map(); map['a'] = 1; var c = const {'a':1,'b':2};
|
runes(Unicode 字符)
1
| var clapping = '\u{1f44f}'
|
symbols
1 2 3
| var a = #A; var b = new Symbol("A"); print(a == b);
|
变量定义
1 2 3 4 5 6 7 8 9
| Object a = 'String'; var a = 1; var b; b = 1; b = 'a';
const a = 1; final b = 1;
|
操作符
| 操作符 |
说明 |
| as |
类型转换 |
| is |
判断类型 |
| is! |
判断类型与 is 相反 |
| = |
赋值 |
| += = *= |
运算并赋值 |
| ??= |
为 null 赋值 |
条件表达式
- condition ? expr1 : expr2
如果 condition==true 执行返回 expr1,否则执行返回 expr2
- expr1 ?? expr2
如果 expr1 不为空返回 expr1 否则返回 expr2
级联操作符
..可以在同一个对象上连续调用多个函数活访问变量
1 2
| var sb = new StringBuffer(); sb..write('foo')..write('bar');
|
空安全操作符