语法
语法定义了一组用于编写程序的规则。 每种语言规范都定义了自己的语法。 Dart计划由 - 组成 -
- 变量和运算符
- Classes
- Functions
- 表达式和编程构造
- 决策和循环结构
- Comments
- Libraries and Packages
- Typedefs
- 数据结构表示为集合/泛型
你的第一个Dart_programming码
让我们从传统的“Hello World”示例开始 -
main() {
print("Hello World!");
}
main()函数是Dart中的预定义方法。 此方法充当应用程序的入口点。 Dart脚本需要main()方法来执行。 print()是一个预定义的函数,它将指定的字符串或值输出到标准输出,即终端。
上述代码的输出将是 -
Hello World!
执行Dart_programming计划
您可以通过两种方式执行Dart程序 -
- Via the terminal
- 通过WebStorm IDE
通过终端
通过终端执行Dart程序 -
- 导航到当前项目的路径
- 在“终端”窗口中键入以下命令
dart file_name.dart
通过WebStorm IDE
要通过WebStorm IDE执行Dart程序 -
右键单击IDE上的Dart脚本文件。 (该文件应包含main()函数以启用执行)
单击'Run 《file_name》'选项。 下面给出了相同的屏幕截图 -
可以选择点击 按钮或使用快捷键Ctrl+Shift+F10执行Dart脚本。
Dart Command-Line Options
Dart命令行选项用于修改Dart脚本执行。 Dart的常见命令行选项包括以下内容 -
Sr.No | 命令行选项和说明 |
---|---|
1 | -c or --c 启用断言和类型检查(选中模式)。 |
2 | --version 显示VM版本信息。 |
3 | --packages <path> 指定程序包解析配置文件的路径。 |
4 | -p <path> 指定在何处查找导入的库。 此选项不能与--packages一起使用。 |
5 | -h or --help 显示帮助。 |
启用检查模式
Dart_programming程序以两种模式运行,即 -
- 检查模式
- 生产模式(默认)
建议在开发和测试期间以checked mode运行Dart VM,因为它会添加警告和错误以帮助开发和调试过程。 选中的模式会强制执行各种检查,例如类型检查等。要打开选中的模式,请在运行脚本时在脚本文件名之前添加-c或--checked选项。
但是,为了在运行脚本时确保性能优势,建议在production mode运行脚本。
考虑以下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中的标识符
标识符是给予程序中元素的名称,如变量,函数等。标识符的规则是 -
标识符可以包括字符和数字。 但是,标识符不能以数字开头。
除下划线(_)或美元符号($)外,标识符不能包含特殊符号。
标识符不能是关键字。
它们必须是独一无二的
标识符区分大小写。
标识符不能包含空格。
下表列出了有效和无效标识符的几个示例 -
有效标识符 | 标识符无效 |
---|---|
firstName | Var |
first_name | first name |
num1 | first-name |
$result | 1number |
Dart中的关键字
关键词在语言的上下文中具有特殊含义。 下表列出了Dart中的一些关键字。
摘要1 | continue | false | new | this |
as 1 | default | final | null | throw |
assert | deferred 1 | finally | operator 1 | true |
async 2 | do | for | part 1 | try |
async * 2 | dynamic 1 | get 1 | rethrow | typedef 1 |
await 2 | else | if | return | var |
break | enum | implements 1 | set 1 | void |
case | export 1 | import 1 | static 1 | while |
catch | external 1 | in | super | with |
class | extends | is | switch | yield 2 |
const | factory 1 | library 1 | sync* 2 | yield* 2 |
空白和换行
Dart忽略程序中出现的空格,制表符和换行符。 您可以在程序中自由使用空格,制表符和换行符,并且可以自由地以简洁一致的方式格式化和缩进程序,使代码易于阅读和理解。
Dart是区分大小写的
Dart区分大小写。 这意味着Dart区分大写和小写字符。
声明以分号结尾
每行指令都称为语句。 每个dart语句必须以分号(;)结尾。 单行可以包含多个语句。 但是,这些语句必须用分号分隔。
评论Dart
注释是提高程序可读性的一种方法。 注释可用于包含有关程序的其他信息,如代码的作者,有关函数/构造的提示等。编译器会忽略注释。
Dart支持以下类型的评论 -
Single-line comments ( // ) - “//”和行尾之间的任何文本都被视为注释
Multi-line comments (/* */) - 这些注释可能跨越多行。
例子 (Example)
// this is single line comment
/* This is a
Multi-line comment
*/
Dart中面向对象的编程
Dart是一种面向对象的语言。 面向对象是一种遵循真实世界建模的软件开发范例。 Object Orientation将程序视为通过称为方法的机制相互通信的对象集合。
Object - 对象是任何实体的实时表示。 根据Grady Brooch,每个对象必须具有三个功能 -
State - 由对象的属性描述。
Behavior - 描述对象的行为方式。
Identity - 将对象与一组类似此类对象区分开的唯一值。
Class - OOP方面的类是创建对象的蓝图。 类封装了对象的数据。
Method - 方法促进对象之间的通信。
示例:Dart和Object Orientation
class TestClass {
void disp() {
print("Hello World");
}
}
void main() {
TestClass c = new TestClass();
c.disp();
}
上面的示例定义了一个类TestClass 。 该类有一个方法disp() 。 该方法在终端上打印字符串“Hello World”。 new关键字创建类的对象。 该对象调用方法disp() 。
代码应该产生以下output -
Hello World