Dart编程语法 Dart编程环境 Dart编程数据类型 语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart语法有如下内容组成: 变量和运算符 类 函数 表达式和代码块 判断和循环结构 注释 库和包 类型定义 数据结构表示:集合/泛型 你的第一个dart程序 让我们从传统的 Hello World 示例开始 main() { print("你好Dart!"); } 在main()函数是dart预定义的方法。此方法充当应用程序的入口点。Dart脚本需要 main()方法来执行。print()是一个预定义的函数,它将指定的字符串或值输出到标准输出,即终端。 上述代码的输出结果为: 你好Dart! 执行dart程序 您可以通过两种方式执行Dart程序 通过终端 通过IDE 通过终端 通过终端执行Dart程序 导航到当前项目的路径 在“终端”窗口中键入以下命令 dart file_name.dart 通过IDE 要通过IDE执行Dart程序 atom : Ctrl + Shift + B vscode: Ctrl + Alt + N WebStrom: Ctrl + Shift + F10 Dart命令行选项 Dart命令行选项用于修改Dart脚本执行。Dart的常见命令行选项包括以下内容 序号 命令行选项和说明 1 -c or --c 启用断言和类型检查(选中模式)。 2 --version 显示VM版本信息。 3 --packages <path> 指定程序包解析配置文件的路径。 4 -p <path> 指定在何处查找导入的库。此选项不能与--packages一起使用。 5 -h or--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中的标识符 标识符是给予程序中元素的名称,如变量,函数等。标识符的规则是 标识符可以包括字符和数字。但是,标识符不能以数字开头。 除下划线(_)或美元符号($)外,标识符不能包含特殊符号。 标识符不能是关键字。 它们必须是唯一的。 标识符区分大小写。 标识符不能包含空格。 下表列出了有效和无效标识符的几个示例 有效的标识符 无效的标识符 firstName Var first_name first name num1 first-name $result 1number Dart中的关键字 关键词在语言的上下文中具有特殊含义。下表列出了Dart中的一些关键字。 abstract 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支持以下类型的注释 单行注释(//) 和行尾之间的任何文本都被视为注释 多行注释(/ /) 这些注释可能跨越多行。 例 // 这是一个单行注释 /* 这是 多行注释 */ Dart中面向对象编程(OOP) Dart是一种面向对象的语言。面向对象是一种遵循真实世界建模的软件开发范例。Object Orientation将程序视为通过称为方法的机制相互通信的对象集合。 对象 - 对象是任何实体的实时表示。 根据Grady Brooch,每个对象必须具有三个功能: 状态 - 由对象的属性描述。 行为 - 描述对象的行为方式。 标识 - 将对象与一组类似此类对象区分开的唯一值。 类 - OOP方面的类是创建对象的蓝图。 类封装了对象的数据。 方法 - 方法促进对象之间的通信。 示例:Dart和OOP class TestClass { void disp() { print("Hello World"); } } void main() { TestClass c = new TestClass(); c.disp(); } 上面的示例定义了一个类 TestClass 。该类有一个方法disp() 。该方法在终端上打印字符串 "Hello World"。new关键字创建类的对象。该对象调用方法 disp()。 代码输出 Hello World Dart编程环境 Dart编程数据类型