跳至主要內容

Dart语法

稀客大大大约 2 分钟

Dart 开发语言概览

语法介绍

本文将从变量和运算符开始到类和库的使用来向你介绍 Dart 编程语言的主要功能,这里假设你已经有使用其它语言进行编程的经验。

在线体验

DartPad:DartPadopen in new window

语言概览

语言概览:在线文档地址open in new window

Hello World

每个应用都有一个顶层的 main() 函数来作为运行入口。没有指定返回类型的方法的返回类型会推导为 void

你可以使用顶层函数 print() 来将一段文本输出显示到控制台:

void main() {
  print('Hello, World!');
}

变量

虽然 Dart 是 代码类型安全open in new window 的语言,你仍然可以用 var 来定义变量,而不用显式指定它们的类型。由于其支持类型推断,因此大多数变量的类型会由它们的初始化内容决定:

void main(){
  print(name);
  print('${name}');
  print('My Name Is ${name}, since ${year},age ${age}');
  print(hobby);
  print(avatar);
}

var name = '稀客大大';
var year = 1988;
var age = 34.5;
var hobby = ['编码', '音乐', '读书', '运动'];
var avatar = {
  'tags': ['头像'],
  'url': 'http://i.heyige.cn/images/logo.png'
};

流程控制语句

Dart 支持常用的流程控制语句:

void main(){
  var year = 1988;
  var hobby = ['编码', '音乐', '读书', '运动'];

  if (year >= 2001) {
    print('21st century');
  } else if (year >= 1901) {
    print('20th century');
  }

  for (final object in hobby) {
    print(object);
  }

  for (int month = 1; month <= 12; month++) {
    print(month);
  }

  while (year < 2016) {
    year += 1;
  }
}

Dart 中关于控制流程语句的内容,包括 breakcontinueopen in new window 关键字、 switch 语句和 case 子句open in new window 以及 assertopen in new window 语句。

函数

我们建议为每个函数的参数以及返回值都指定类型:

int fibonacci(int n) {
  if (n == 0 || n == 1) return n;
  return fibonacci(n - 1) + fibonacci(n - 2);
}

void main(){
  var result = fibonacci(20);
  print(result);
}

=> (胖箭头) 简写语法用于仅包含一条语句的函数。该语法在将匿名函数作为参数传递时非常有用:

flybyObjects.where((name) => name.contains('turn')).forEach(print);

上面的示例除了向你展示了匿名函数(上例中传入 where() 函数的参数即是一个匿名函数)外,还向你展示了将函数作为参数使用的方式:上面示例将顶层函数 print() 作为参数传给了 forEach() 函数。

注释

Dart 通常使用双斜杠 // 作为注释的开始。

// 单行注释.

/// 文档注释,
/// 文档注释
/// 文档注释.

/* 也支持这样的注释方式. */

如何使用包

如何使用package:如何使用包open in new window

上次编辑于:
贡献者: 稀客