1.后置运算符: ? 、!
String? name;
//加一个问号可以让静态检查通过,表示可空类型,String? 则是可空类型 String。
DateTime? _lastPressedAt;
DateTime.now().difference(_lastPressedAt!)
//作后缀的! 会让左侧的表达式转成对应的 非空类型
//与其他所有转换一样,使用 ! 会失去部分静态的安全性。这些转换必须在运行时进行
参考文章:
Dart 后置操作符! flutter 问号符号
2.late关键字
late PageController pageController;
// (作用)显式声明一个非空的变量,但不初始化
参考文章:
dart中late关键字的作用