重要概念
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 中标识符可以以字母或者下划线开头。