Dart语言入门(一)


Dart 语言介绍

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

Dart语言概念重点

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

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

  • Dart解析所有的代码运行之前。可以对Dart提供提示,例如,通过使用类型或编译时间常数来捕获错误或帮助代码运行更快。

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

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

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

  • 标识符可以字母或(_)开始,或者是字符加数字的组合开头。

  • 有时,判断是一个表达式还是一个语句会很重要,所以我们要准确了解这两个单词。

  • 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

作者:alongstorm,发布于:2019/03/18
原文:https://www.cnblogs.com/alongstorm/p/10554088.html