Dart是一个为多平台快速构建App优化的编程语言,它是由Google开发,可用于构建移动,后端, Web应用。它是一个面向对象,类定义,自动GC,使用类似与C语言风格语法,可以编译输出Javascript以支持web应用的开发,并支持接口,Mixins,抽象类,泛型,静态类型
Dart的hello world
// 定义一个函数.
printStr(String str) {
print('$str.'); // 这将会输出到终端.
}
// 这是app开始执行的位置.
main() {
var str = "hello world"; // 声音并且初始化一个变量
printStr(str); // 调用函数.
}
语法解释
//
是单行注释String
是内置类型中的一种hello world
是一个字符串. 字符串是编译时常量的一种print
是一种简单输出变量值的方式,可以打印任意类型'...'
(或者 "..."
)字符串表达式$variableName
(或者 {expression}
)$是dart的字符串插值的方式main()
是应用开始执行的位置var
是dart不需要指定类型声明变量的关键词
Dart编程概念
- 所有变量都是对象,每个对象都是类的实例.
number
,functions
,null
都是对象,所有对象都继承Object类 - 虽然Dart是强类型语言,类型的声明也是可选的,因为Dart会推断类型,在上面的代码中,str会被推断为String类型. 当你不明确需要什么类型时,可以声明类型为
dynamic
- Dart支持泛型,像
List<int>
(一个整形的列表)或者List<dynamic>
(一个任何类型对象的列表) - Dart支持顶级函数(比如main),函数也可以绑定对象,你也可以在函数内部创建函数即嵌套函数
- 类似的,Dart也支持顶级变量,变量也可以绑定到类或者对象,在实例中变量有时也称为字段或者属性
- Dart不像Java,Dart没有关键词
public
,protected
,private
,如果存在以_开头的,都是代表是私有的 - Dart工具可以报告两种类型的问题,分别是警告和错误,警告是一个提示,也许你的代码会不工作,但不会阻止应用的执行,错误又分为两种类型的错误,编译时和运行时,编译时的错误会阻止代码执行. 运行时错误会导致代码执行时引发异常。