前言
由于升级了 Flutter 版本,升级完之后跑了一下之前的代码,也没什么问题。升级后最大的区别在于升级后的版本支持 Dart 的 null safety
版本了。关于 null safety
其实并不是什么新鲜事了,很早的时候 Swift 就已经支持了,Dart是从2.12.2版本开始支持该特性的。本篇以官方文档为蓝本,聊一下 Dart 的 null safety
特性。官方文档链接:Null Safety。
null safety
最大的特点就是默认声明的对象是非空的,除非你明确该对象可以为空。
Nullable 和 non-nullable 类型
当你选择使用 null satety
特性时,所有的类型默认是非空的。例如如果声明了一个 String
类型的变量,那么就意味着它一直包含字符串值。如果你想要一个 String
对象能够接收字符串值或null
,那么就需要在类型声明后面加上?
标识,一个声明为String?
类型的