1 Null Safety
翻译成中文的意思是空安全, 可以帮助开发者避免一些日常开发中很难被发现的错误,并且额外的好处是可以改善性能,Flutter2.2.0(2021年5月19日发布) 之后的版本都要求使用null safety。
? 可空类型 ! 类型断言
// 返回可空类型的函数
String? getUsername(String name) {
if (name != null) {
return name;
}
return null;
}
// 参数可空类型的函数
printLength(String? str) {
try {
print(str!.length);
} catch (error) {
print("this is not a correct string");
}
}
void main() async {
// String username = "Klay";
// A value of type 'Null' can't be assigned to a variable of type 'String'.
// username = null;
// 以上代码 如果直接赋值给username的话 是会报错的
// 所以用 ?声明类型为可空类型 就可以复制null了
String? username = "Curry";
username = null;
print(username);
int? age = 0;
age = null;
print(age);
// 类型判断 !
String? str1 = "this is a string";
str1 = null;
// 如果字符串是null 则会 出现异常。_CastError (Null check operator used on a null value)
// print(str1!.length)
// 调用下面方法处理
printLength(str1);
runApp(const MyApp());
}
2 late
关键字主要用于延迟初始化。
3 required
equired翻译成中文的意思是需要、依赖
required关键词:
最开始 @required 是注解,在它已经作为内置修饰符。主要用于允许根据需要标记任何命名参数(函数或类),使得它们不为空。因为可选参数中必须有个 required 参数或者该参数有个默认值。
6069

被折叠的 条评论
为什么被折叠?



