void main(){
String name;
print('name is $name.');
}
代码很简单,我们定义了一个String类型的name字符串,然后在print语句中打印它。
如果你是在dart 2.12版本之前,那么是没有问题的。
但是到了2.12,则会报错:
The non-nullable local variable 'name' must be assigned before it can be used.
Try giving it an initializer expression, or ensure that it's assigned on every execution path.
意思就是说,name是非空的,你必须要给他赋个值。
通过强制不为空,保证了代码的安全性,非常好用。
那么如果name就可以为空怎么处理呢?
别急,我们可以给可以为空的类型后面加上?即可:
Nullable List Of Strings 和 List Of Nullable Strings
String? word;
word = aListOfNullableStrings.first;
print(word!.length);
class Team {
late final Coach coach;
}
class Coach {
late final Team team;
}
void main() {
final myTeam = Team();
final myCoach = Coach();
myTeam.coach = myCoach;
myCoach.team = myTeam;
print('All done!');
}