重要概念

PPG007 ... 2022-3-3 About 1 min

# 重要概念

  • 所有变量引用的都是对象,每个对象都是一个类的实例。数字、函数以及 null 都是对象。除去 null 以外(如果你开启了空安全), 所有的类都继承于 Object 类。空安全在 2.12 版本被引入。

  • Dart 是强类型语言, 但是可以通过 var 自动推断。

  • 如果开启了空安全,对于不能为 null 的类型,不能赋值为 null,例如 int,但是可以在类型后面加上问号将类型声明为可以是原类型也可以是 null,例如 int? a = null;,如果你明确一个表达式不会为空,但是编译器不这么认为,可以在表达式后面添加叹号表示断言,例如下面这样:

    int? nullAbleButNotNull() {
        return 1;
    }
    void main() {
        int a = nullAbleButNotNull()!;
        print(a);
    }
    
    1
    2
    3
    4
    5
    6
    7
  • 如果要显式地声明允许任意类型,使用 Object?(如果开启了空安全)、 Object 或者特殊类型 dynamic 将检查延迟到运行时进行。

  • Dart 支持泛型。

  • Dart 支持顶级函数(main)、静态方法、实例方法。

  • Dart 支持顶级变量、静态变量、实例变量。

  • Dart 中如果一个标识符以下划线开头则表示是库内私有的

  • Dart 中标识符可以以字母或者下划线开头。

Last update: March 3, 2022 08:43
Contributors: Koston Zhuang