首页 > 建站教程 > dart >  Dart语法(一):基础正文

Dart语法(一):基础

1、main()是Dart程序必需的顶级入口函数
2、没有public、protected、 和 private关键字。如果名字 以下划线(_)开头,则是库私有成员
3、Dart中一切皆对象,故没有初始化的变量的值为null
4、布尔类型中只有true被认为是true,其他所有的值都认为是false(与JavaScript不同)
5、数组为List对象,一般称之为lists(列表)
6、=> expr; 语法是 { return expr;}的缩写形式。在arrow (=>)和 分号 (;) 之间只能是expression(表达式),不能用 statement(语句)。例如,不能用if statement,但是可以用 条件 (?:) 表达式。=>也可以使用参数类型(代码风格指南不建议使用类型)
7、方法参数有两种类型:必需的和可选的。 必需的参数出现在可选参数前面
8、可选参数(可选参数可以是命名参数或者位置参数。但是不能同时使用这两种类型)

9、可选参数可以有默认值,默认值必需为编译期常量
    用 {param1, param2, …} 来定义方法的命名参数,使用冒号 (:) 来设置默认值
/**
 * Sets the [bold] and [hidden] flags to the values you specify,
 * defaulting to false.
 */
enableFlags({bool bold: false, bool hidden: false}) {
  // ...
}
enableFlags(bold: true); // bold 的值为 true; hidden 没指定则为默认值 false.
10、位于 [] 中间的参数为可选位置参数,用=设置默认值
String say(String from, String msg,
  [String device='carrier pigeon', String mood]) {
  var result = '$from says $msg';
  if (device != null) {
    result = '$result with a $device';
  }
  if (mood != null) {
    result = '$result (in a $mood mood)';
  }
  return result;
}

assert(say('Bob', 'Howdy') == 'Bob says Howdy with a carrier pigeon');
11、每个方法都有一个返回值,如果没有指定返回值,默认会在函数最后附加一个return null的语句