前言
Dart是一种适用于全球资讯网的开放原始码程式语言,由Google主导开发,于2011年10月公开。(维基百科)
编译器
下载依赖
主函数
注释
输出语句
变量
- 命名规则
- 由数字、字母、
_和$组成
- 不能以数字开头
- 区分大小写
- 不能是关键字和保留字
定义变量
空安全
常量
定义const修饰的常量
- const修饰的常量在编译时就已经确定,永远不会改变
- 通过const修饰的常量如果值相同,那么两者会共享同一块内存空间
定义final修饰的常量
- final修饰的常量可以先声明再赋值,首次赋值后无法再次改变
- final不仅有const的特性,而且final是惰性初始化的
1 2
| final 数据类型 常量名; 常量名 = 常量值;
|
定义常量构造函数
- 常量构造函数需要使用const修饰
- 常量构造函数必须用于成员属性全部是final修饰的类
- 如果想要共享内存空间,需要在创建对象时通过常量构造方法来创建对象
1 2 3 4 5 6 7 8
| class 类名 { final String name; const 类名(this.name); }
void main() { 数据类型 对象名 = const new 数据类型(); }
|
数据类型
| 类型 |
描述 |
| int |
整型 |
| double |
浮点型 |
| String |
字符串 |
| bool |
布尔 |
| List |
列表 |
| Set |
集合 |
| Map |
字典 |
| Runes |
符文,用来存储UTF-32编码的字符串 |
| Symbol |
用Symbols表示在Dart程序中声明的运算符或标识符 |
1 2 3 4 5
| int a = 0;
double b = 0.0;
bool c = false;
|
字符串型
原始字符串
1 2 3
| String 变量名 = ''' 文本内容 ''';
|
1 2 3
| String 变量名 = """ 文本内容 """;
|
模板字符串
1 2 3
| int num = 1;
print("文本内容${num}");
|
1 2 3
| int num = 1;
print("文本内容$num");
|
判断数据类型
获取数据类型
1
| Type type = 变量名.runtimeType;
|
获取是否为非数值
数据类型转换
字符串转换为码点
1 2 3
| String str = "文本内容";
Runes result = str.runes;
|
符文转换为字符串
1 2 3
| List<int> codePoints = [68, 97, 114, 116, 32, 20013, 32, 128512];
String result = String.fromCharCodes(codePoints);
|
运算符
算数运算符
+(正号)、-(负号)
+(加号)、-(减号)、*、/、%
++(自增)、--(自减)
关系运算符
逻辑运算符
赋值运算符
??=:如果被赋值的变量为空,那么就赋值;如果被赋值的变量不为空,那么就不赋值
按位运算符
判空运算符
- 如果变量2的值不为空,就把变量2赋值给变量1
- 如果变量2的值为空,就把默认值赋值给变量1
分支语句
if语句
1 2 3
| if (布尔表达式) { 布尔表达式成立时执行的代码; }
|
1 2 3 4 5
| if (布尔表达式) { 布尔表达式成立时执行的代码; } else { 布尔表达式不成立时执行的代码; }
|
1 2 3 4 5 6 7
| if (布尔表达式1) { 布尔表达式1成立时执行的代码; } else if (布尔表达式2) { 布尔表达式2成立时执行的代码; } else { 以上布尔表达式都不成立时执行的代码; }
|
1 2 3 4 5
| if (布尔表达式1) { if (布尔表达式2) { 布尔表达式1和2都成立时执行的代码; } }
|
switch语句
- Dart的
switch语句具有穿透行为,在每个case语句中,必须使用break跳出seitch语句
1 2 3 4 5 6 7 8 9 10 11
| switch (变量) { case 值1: 变量值为值1时执行的代码; break; case 值2: 变量值为值2时执行的代码; break; default: 变量值不为以上任何值时执行的代码; break; }
|
循环语句
while语句
1 2 3
| while (循环条件) { 布尔表达式成立时反复执行的代码; }
|
do…while语句
1 2 3
| do { 布尔表达式成立时反复执行的代码; } while (循环条件);
|
for语句
1 2 3
| for (int i = 起始值; 布尔表达式; i++) { 布尔表达式成立时反复执行的代码; }
|
for…in语句
1 2 3
| for (var 元素 in 可迭代对象) { ... }
|
break关键字
1 2 3
| while (true) { break; }
|
continue关键字
1 2 3
| while (true) { continue; }
|
完成
参考文献
哔哩哔哩——筱筱知晓