Dart语言入门(一)

Dart 语言介绍

Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,容许用户经过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序,免去了单独编译的步骤。之后这些程序将从 Dart VM 更快的性能与较低的启动延迟中受益。Dart 从设计之初就为配合现代 web 总体运做而考虑,开发团队也同时在持续改进 Dart 向 JavaScript 转换的快速编译器。Dart VM 以及现代 JavaScript 引擎(V8 等)都是 Dart 语言的首选目标平台。html

Dart语言概念重点

  • 每一个变量都是一个对象,每一个对象是一个类的实例。甚至数字,函数,和null都是对象。全部对象都继承自Objectweb

  • 指定静态类型(如num前面的例子中)讲清意图,用 tools 开启静态检查,但它是可选的。 (可能注意到当你调试代码,没有指定类型的变量会获得一个特殊的类型: dynamic )编程

  • Dart解析全部的代码运行以前。能够对Dart提供提示,例如,经过使用类型或编译时间常数来捕获错误或帮助代码运行更快。api

  • Dart支持顶级函数(如main())也支持类或者对象(静态和实例方法分别支持)里的函数。还能够在函数里建立函数(嵌套或局部功能)。数组

  • 相似的,Dart支持顶级变量,以及依赖于类或对象(静态变量和实例变量)变量。实例变量有时被称为域或属性。异步

  • 与Java不一样,Dart不具有关键字public,protected和private。若是一个标识符如下划线(_)开始,那么它和它的库都是私有的。async

  • 标识符能够字母或(_)开始,或者是字符加数字的组合开头。编程语言

  • 有时,判断是一个表达式仍是一个语句会很重要,因此咱们要准确了解这两个单词。ide

  • Dart tools可报告两类问题:警告(warning)和错误(error)。警告只是迹象代表,代码可能没法正常工做,但他们不会阻止程序的执行。错误能够是编译时或运行时,编译时的错误阻止代码执行;当代码执行时一个运行时的错误会致使一个 异常(exception)被抛出。函数

  • Dart有两种运行模式:生产 (production) 和检查 (checked) 。咱们建议在检查模式开发和调试,并将其部署到生产模式。

  • Production mode是Dart程序一个速度优化的默认运行模式。Production mode忽略 断言语句(assert statements) 和静态类型。

  • Checked mode 是开发人员友好的方式,能够帮助你在运行时捕捉一些类型的错误。例如,若是分配一个非数字来声明为一个 num 变量,而后在检查模式会抛出异常。

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 sync* yield$
  • 上标1的单词是内置的标识符(built-in identifiers)。避免使用表格内的标识做为符标识,并且历来不使用它们做为类(class)或类型(type)的名称。内置标识符存在,以方便从 JavaScript 到 Dart 的移植。例如,若是一些JavaScript代码中有一个名为工厂的变量,当你将代码移植到 Datr 中,你没必要从新命名它。

  • 上标2的单词是的Dart1.0版本以后添加异步支持较新的、有限的保留字。不能使用async,await,或yield做为在标有async,或sync的任何函数体的标识符。欲了解更多信息,请参见 异步性支持(Asynchrony support)

  • 在关键字表中的全部单词都是保留字。不能使用保留字做为标识符。

变量

ex1:

var name = 'along';

变量都是引用,变量name包含对一个String的对象值'along' 的引用

默认值

未初始化的变量具备null 的初始值,即便数字类型最初变量也是null,由于数字也是对象。

final和const:

若是从不打算改变一个变量,使用 final 或者 const 代替 var 或者其余类型。一个 final 变量只能被设置一次;一个 const 变量是一个编译时常数。(延迟初始化变量有助于应用程序启动的更快)

内置类型

  • 数字 number
  • 字符串 strings
  • 布尔 booleans
  • 列表 lists(也称为数组arrays)
  • 图 maps
  • 符号 symbols
相关文章
相关标签/搜索