- Dart 编程教程
- Dart 编程 - 主页
- Dart 编程 - 概述
- Dart 编程 - 环境
- Dart 编程 - 语法
- Dart 编程 - 数据类型
- Dart 编程 - 变量
- Dart 编程 - 运算符
- Dart 编程 - 循环
- Dart 编程 - 决策
- Dart 编程 - 数字
- Dart 编程 - 字符串
- Dart 编程 - 布尔值
- Dart 编程 - 列表
- Dart 编程 - 列表
- Dart 编程 - 地图
- Dart 编程 - 符号
- Dart 编程 - 符文
- Dart 编程 - 枚举
- Dart 编程 - 函数
- Dart 编程 - 接口
- Dart 编程 - 类
- Dart 编程 - 对象
- Dart 编程 - 集合
- Dart 编程 - 泛型
- Dart 编程 - 包
- Dart 编程 - 异常
- Dart 编程 - 调试
- Dart 编程 - Typedef
- Dart 编程 - 库
- Dart 编程 - 异步
- Dart 编程 - 并发
- Dart 编程 - 单元测试
- Dart 编程 - HTML DOM
- Dart 编程有用的资源
- Dart 编程 - 快速指南
- Dart 编程 - 资源
- Dart 编程 - 讨论
Dart 编程 - 语法
语法定义了一组编写程序的规则。每种语言规范都定义了自己的语法。Dart 程序由以下部分组成:
- 变量和运算符
- 课程
- 功能
- 表达式和编程结构
- 决策和循环结构
- 评论
- 库和包
- 类型定义
- 表示为集合/泛型的数据结构
您的第一个 Dart 代码
让我们从传统的“Hello World”示例开始 -
main() { print("Hello World!"); }
main ()函数是 Dart 中预定义的方法。该方法充当应用程序的入口点。Dart 脚本需要main()方法来执行。print()是一个预定义函数,它将指定的字符串或值打印到标准输出(即终端)。
上述代码的输出将是 -
Hello World!
执行 Dart 程序
您可以通过两种方式执行 Dart 程序 -
- 通过航站楼
- 通过 WebStorm IDE
通过航站楼
通过终端执行 Dart 程序 -
- 导航到当前项目的路径
- 在终端窗口中键入以下命令
dart file_name.dart
通过 WebStorm IDE
通过 WebStorm IDE 执行 Dart 程序 -
右键单击 IDE 上的 Dart 脚本文件。(该文件应包含main()函数以启用执行)
单击“运行<文件名>”选项。下面给出了相同的屏幕截图 -
您也可以单击按钮或使用快捷键Ctrl+Shift+F10来执行 Dart 脚本。
Dart 命令行选项
Dart 命令行选项用于修改 Dart 脚本执行。Dart 的常见命令行选项包括以下内容 -
先生编号 | 命令行选项和说明 |
---|---|
1 | -c 或 --c
启用断言和类型检查(检查模式)。 |
2 | - 版本
显示虚拟机版本信息。 |
3 | --packages <路径>
指定包解析配置文件的路径。 |
4 | -p <路径>
指定在哪里可以找到导入的库。此选项不能与 --packages 一起使用。 |
5 | -h 或 --help
显示帮助。 |
启用检查模式
Dart 程序以两种模式运行,即 -
- 检查模式
- 生产模式(默认)
建议在开发和测试期间以检查模式运行 Dart VM ,因为它会添加警告和错误以帮助开发和调试过程。检查模式强制执行各种检查,如类型检查等。要打开检查模式,请在运行脚本时在脚本文件名前添加 -c 或 –-checked 选项。
但是,为了确保运行脚本时的性能优势,建议在生产模式下运行脚本。
考虑以下Test.dart脚本文件 -
void main() { int n = "hello"; print(n); }
通过输入运行脚本 -
dart Test.dart
尽管存在类型不匹配,但由于检查模式关闭,脚本仍会成功执行。该脚本将产生以下输出 -
hello
现在尝试使用“--checked”或“-c”选项执行脚本 -
dart -c Test.dart
或者,
dart - - checked Test.dart
Dart VM 将抛出一个错误,指出存在类型不匹配。
Unhandled exception: type 'String' is not a subtype of type 'int' of 'n' where String is from dart:core int is from dart:core #0 main (file:///C:/Users/Administrator/Desktop/test.dart:3:9) #1 _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart :261) #2 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)
Dart 中的标识符
标识符是赋予程序中的元素(如变量、函数等)的名称。标识符的规则是 -
标识符可以包括字符和数字。但是,标识符不能以数字开头。
标识符不能包含除下划线 (_) 或美元符号 ($) 之外的特殊符号。
标识符不能是关键字。
它们必须是独一无二的。
标识符区分大小写。
标识符不能包含空格。
下表列出了有效和无效标识符的一些示例 -
有效标识符 | 无效的标识符 |
---|---|
名 | 瓦尔 |
名 | 名 |
数字1 | 名 |
$结果 | 1号 |
Dart 中的关键字
关键字在语言上下文中具有特殊含义。下表列出了 Dart 中的一些关键字。
摘要1 | 继续 | 错误的 | 新的 | 这 |
作为 1 | 默认 | 最终的 | 无效的 | 扔 |
断言 | 延期 1 | 最后 | 操作员1 | 真的 |
异步2 | 做 | 为了 | 第1部分 | 尝试 |
异步* 2 | 动态1 | 得到 1 | 重新抛出 | 类型定义 1 |
等待2 | 别的 | 如果 | 返回 | 变量 |
休息 | 枚举 | 实施1 | 套装 1 | 空白 |
案件 | 出口1 | 导入1 | 静态1 | 尽管 |
抓住 | 外部1 | 在 | 极好的 | 和 |
班级 | 延伸 | 是 | 转变 | 产量 2 |
常量 | 工厂1 | 图书馆1 | 同步* 2 | 产量* 2 |
空格和换行符
Dart 会忽略程序中出现的空格、制表符和换行符。您可以在程序中自由使用空格、制表符和换行符,并且可以以整洁一致的方式自由地格式化和缩进程序,使代码易于阅读和理解。
Dart 区分大小写
Dart 区分大小写。这意味着 Dart 会区分大小写字符。
语句以分号结束
每行指令称为一条语句。每个 dart 语句必须以分号 (;) 结尾。一行可以包含多个语句。但是,这些语句必须用分号分隔。
Dart 中的评论
注释是提高程序可读性的一种方法。注释可用于包含有关程序的附加信息,例如代码作者、有关函数/构造的提示等。编译器会忽略注释。
Dart 支持以下类型的注释 -
单行注释 ( // ) - “//”和行尾之间的任何文本都被视为注释
多行注释 (/* */) - 这些注释可能跨越多行。
例子
// this is single line comment /* This is a Multi-line comment */
Dart 中的面向对象编程
Dart 是一种面向对象的语言。面向对象是一种遵循现实世界建模的软件开发范例。面向对象将程序视为对象的集合,这些对象通过称为方法的机制相互通信。
对象- 对象是任何实体的实时表示。根据 Grady Brooch,每个物体都必须具有三个特征 -
状态- 由对象的属性描述。
Behave- 描述对象将如何行动。
身份- 将一个对象与一组类似的对象区分开来的唯一值。
类- OOP 中的类是创建对象的蓝图。类封装了对象的数据。
方法- 方法促进对象之间的通信。
示例:Dart 和对象方向
class TestClass { void disp() { print("Hello World"); } } void main() { TestClass c = new TestClass(); c.disp(); }
上面的示例定义了一个类TestClass。该类有一个方法disp()。该方法在终端上打印字符串“Hello World”。new 关键字创建该类的一个对象。该对象调用方法disp()。
该代码应产生以下输出-
Hello World