Dart语言基础语法
语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 -
- 变量和运算符
- 类
- 函数
- 表达式和编程构造
- 决策和循环结构
- 注解
- 库和包
- 类型定义
- 数据结构 - 集合/泛型
第一个Dart语序
main() {
print("Hello World!");
}
main()
函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要main()
方法来执行。print()
是一个预定义的函数,它将指定的字符串或值打印到标准输出(即终端)。
上述代码的输出将是 -
Hello World!
执行Dart程序
可以使用以下两种方式执行Dart程序 -
- 通过终端/控制台
- 通过WebStorm IDE
通过终端/控制台
通过终端执行Dart程序 -
- 进入到当前项目的路径
- 在“终端/控制台”窗口中键入以下命令 -
C:/> dart helloword.dart
通过WebStorm IDE
要通过WebStorm IDE执行Dart程序 -
- 右键单击IDE上的Dart脚本文件。(该文件应包含
main()
函数以启用执行) - 单击“运行
<file_name>
”选项。
如下截图所示 -
Dart命令行选项
Dart命令行选项用于修改Dart脚本执行。Dart的常见命令行选项包括以下内容 -
编号 | 命令行选项 | 描述 |
---|---|---|
1 | -c 或 --c |
启用断言和类型检查(选中模式)。 |
2 | --version |
显示VM版本信息 |
3 | --packages <path> |
指定程序包解析配置文件的路径。 |
4 | -p <path> |
指定在何处查找导入的库。此选项不能与--packages 一起使用。 |
5 | -h 或 --help |
显示帮助信息。 |
启用检查模式
Dart程序以两种模式运行,即 -
- 检查模式
- 生产模式(默认)
建议在开发和测试期间以检查模式运行Dart VM,因为它会添加警告和错误以帮助开发和调试过程。选中的模式会强制执行各种检查,例如类型检查等。要打开选中的模式,请在运行脚本时在脚本文件名之前添加-c或—checked选项。
但是,为了在运行脚本时确保性能优势,建议在生产模式下运行脚本。
假设test.dart 脚本文件代码如下 -
void main() {
String s = "welcome to yiibai.com";
print(s);
}
输入以下命令运行脚本 -
C:/> dart test.dart
上面脚本将产生以下输出 -
welcome to yiibai.com
Dart标识符
标识符是程序中元素的名称,如变量,函数等。标识符的规则是 -
- 标识符可以包括字符和数字。但是,标识符不能以数字开头。
- 除下划线(
_
)或美元符号($
)外,标识符不能包含特殊符号。 - 标识符不能是关键字。
- 它们必须是唯一的。
- 标识符区分大小写。
- 标识符不能包含空格。
下表列出了有效和无效标识符的几个示例 -
有效标识符 | 无效标识符 |
---|---|
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1result |
Dart关键字
关键字在语言的上下文中具有特殊含义。下表中列出了Dart语言中的一些关键字。
abstract | continue | false | new | this |
---|---|---|---|---|
as | default | final | null | throw |
assert | deferred | finally | operator | true |
async | do | for | part | try |
async* |
dynamic | get | rethrow | typedef |
await | else | if | return | var |
break | enum | implements | set | void |
case | export | import | static | while |
catch | external | in | super | with |
class | extends | is | switch | yield |
const | factory | library |
空白和换行
Dart忽略程序中出现的空格,制表符和换行符。可以在程序中自由使用空格,制表符和换行符,并且可以自由地以简洁一致的方式格式化和缩进程序,使代码易于阅读和理解。
Dart区分大小写
Dart区分大小写。Dart中大写和小写字符表示不同地含义。
声明以分号结尾
每行指令都称为语句。每个dart语句必须以分号(;
)结尾。一行可以包含多个语句。但是,这些语句必须用分号分隔。
Dart注释
注释是提高程序可读性的一种方法。注释可用于包含有关程序的其他信息,如代码的作者,有关函数/构造的提示等。编译器会忽略注释。
Dart支持以下类型的注释 -
- 单行注释(
//
) -//
和行尾之间的任何文本都视为注释 - 多行注释(
/* */
) - 这个注释可能跨越多行。
// 这是单行注释
/* 这是...
一个
多行的
注释
*/
Dart面向对象编程
Dart是一种面向对象的语言。面向对象是一种遵循真实世界建模的软件开发范例。面向对象将程序视为通过称为方法的机制相互通信的对象集合。
- 对象 - 对象是任何实体的实时表示。根据Grady Brooch,每个对象必须具有三个功能 -
- 状态 - 由对象的属性描述。
- 行为 - 描述对象的行为方式。
- 标识 - 将对象与一组类似此类对象区分开的唯一值。
- 类 - 类是创建对象的蓝图/模板,类封装了对象的数据。
- 方法 - 方法促进对象之间的通信。
示例:Dart和面向对象
class TestClass {
void display() {
print("Dart and Object Orientation");
}
}
void main() {
TestClass c = new TestClass();
c.display();
}
上面的示例代码中定义了一个类TestClass
。该类有一个display()
方法。该方法在终端上打印字符串 - "Dart and Object Orientation"
。new
关键字创建类的对象。该对象调用display()
方法。
执行上面代码将产生以下输出 -
Dart and Object Orientation