当前位置: 首页 > 教程 > Dart >

Dart语言基础语法

精华
小牛编辑
130浏览
2023-03-14

语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。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>”选项。

如下截图所示 -

WebStorm

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