Dart语言教程:基础语法、标识符、关键字、面向对象编程

2019-06-2214:52:19编程语言入门到精通Comments3,641 views字数 2461阅读模式

语法定义了一组用于编写程序的规则。每种语言规范都定义了自己的语法。Dart程序代码由以下组成 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 变量和运算符
  • 函数
  • 表达式和编程构造
  • 决策和循环结构
  • 注解
  • 库和包
  • 类型定义
  • 数据结构 - 集合/泛型

第一个Dart语序

main() { 
   print("Hello World!"); 
}
Dart

main()函数是Dart中的预定义方法。此方法充当应用程序的入口点。Dart脚本需要main()方法来执行。print()是一个预定义的函数,它将指定的字符串或值打印到标准输出(即终端)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

上述代码的输出将是 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Hello World!
Shell

执行Dart程序

可以使用以下两种方式执行Dart程序 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 通过终端/控制台
  • 通过WebStorm IDE

通过终端/控制台文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

通过终端执行Dart程序 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 进入到当前项目的路径
  • 在“终端/控制台”窗口中键入以下命令 -
C:/> dart helloword.dart
Shell

通过WebStorm IDE文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

要通过WebStorm IDE执行Dart程序 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 右键单击IDE上的Dart脚本文件。(该文件应包含main()函数以启用执行)
  • 单击“运行<file_name>”选项。

如下截图所示 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart语言教程:基础语法、标识符、关键字、面向对象编程文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart命令行选项

Dart命令行选项用于修改Dart脚本执行。Dart的常见命令行选项包括以下内容 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

编号命令行选项描述
1-c--c启用断言和类型检查(选中模式)。
2--version显示VM版本信息
3--packages <path>指定程序包解析配置文件的路径。
4-p <path>指定在何处查找导入的库。此选项不能与--packages一起使用。
5-h--help显示帮助信息。

启用检查模式

Dart程序以两种模式运行,即 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 检查模式
  • 生产模式(默认)

建议在开发和测试期间以检查模式运行Dart VM,因为它会添加警告和错误以帮助开发和调试过程。选中的模式会强制执行各种检查,例如类型检查等。要打开选中的模式,请在运行脚本时在脚本文件名之前添加-c或—checked选项。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

但是,为了在运行脚本时确保性能优势,建议在生产模式下运行脚本。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

假设test.dart 脚本文件代码如下 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

void main() { 
   String s = "welcome to yiibai.com"; 
   print(s); 
}
Dart

输入以下命令运行脚本 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

C:/> dart test.dart
Shell

上面脚本将产生以下输出 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

welcome to yiibai.com
Shell

Dart标识符

标识符是程序中元素的名称,如变量,函数等。标识符的规则是 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 标识符可以包括字符和数字。但是,标识符不能以数字开头。
  • 除下划线(_)或美元符号($)外,标识符不能包含特殊符号。
  • 标识符不能是关键字。
  • 它们必须是唯一的。
  • 标识符区分大小写。
  • 标识符不能包含空格。

下表列出了有效和无效标识符的几个示例 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

有效标识符无效标识符
firstNameVar
first_namefirst name
num1first-name
$result1result

Dart关键字

关键字在语言的上下文中具有特殊含义。下表中列出了Dart语言中的一些关键字。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

abstractcontinuefalsenewthis
asdefaultfinalnullthrow
assertdeferredfinallyoperatortrue
asyncdoforparttry
async*dynamicgetrethrowtypedef
awaitelseifreturnvar
breakenumimplementssetvoid
caseexportimportstaticwhile
catchexternalinsuperwith
classextendsisswitchyield
constfactorylibrary

空白和换行文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart忽略程序中出现的空格,制表符和换行符。可以在程序中自由使用空格,制表符和换行符,并且可以自由地以简洁一致的方式格式化和缩进程序,使代码易于阅读和理解。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart区分大小写
Dart区分大小写。Dart中大写和小写字符表示不同地含义。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

声明以分号结尾文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

每行指令都称为语句。每个dart语句必须以分号(;)结尾。一行可以包含多个语句。但是,这些语句必须用分号分隔。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart注释

注释是提高程序可读性的一种方法。注释可用于包含有关程序的其他信息,如代码的作者,有关函数/构造的提示等。编译器会忽略注释。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart支持以下类型的注释 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 单行注释(//) - // 和行尾之间的任何文本都视为注释
  • 多行注释(/* */) - 这个注释可能跨越多行。
// 这是单行注释

/* 这是...
   一个
   多行的
   注释
*/
Dart

Dart面向对象编程

Dart是一种面向对象的语言。面向对象是一种遵循真实世界建模的软件开发范例。面向对象将程序视为通过称为方法的机制相互通信的对象集合。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

  • 对象 - 对象是任何实体的实时表示。根据Grady Brooch,每个对象必须具有三个功能 -
    • 状态 - 由对象的属性描述。
    • 行为 - 描述对象的行为方式。
    • 标识 - 将对象与一组类似此类对象区分开的唯一值。
  • 类 - 类是创建对象的蓝图/模板,类封装了对象的数据。
  • 方法 - 方法促进对象之间的通信。

示例:Dart和面向对象文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

class TestClass {   
   void display() {     
      print("Dart and Object Orientation"); 
   } 
}  
void main() {   
   TestClass c = new TestClass();   
   c.display();  
}
Dart

上面的示例代码中定义了一个类TestClass。该类有一个display()方法。该方法在终端上打印字符串 - "Dart and Object Orientation"new关键字创建类的对象。该对象调用display()方法。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

执行上面代码将产生以下输出 -文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

Dart and Object Orientation

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/dart/dart_programming_syntax.html#article-start文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/ymba/13733.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/ymba/13733.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定