关于代码分析器报错的问题
来源:5-8 带你揭开Flutter中的面向对象(命名构造方法)
慕村0493939
2021-05-21
4.7章视频里出现的代码是
String _school; //通过下划线来标识私有字段(变量)
String city;
String country;
String name;
会报
The parameter ‘city’ can’t have a value of ‘null’ because of its type, but the implicit default value is ‘null’.
的错,姑且是改成
String? city;
但是下面命名构造方法部分,
Student.cover(Student stu):super(stu.name, stu.age){
print('命名构造方法');
}
会报 非null实例字段(_school, country, name)必须初始化,但是视频里没有
这种问题是不是dart的分析器升级之后检查变严格了,那应该怎么解决。
写回答
2回答
-
Dart 2.12启用了null safety检查,解决此问题的方案主要有两种:
1.将pubspec.yaml中的sdk由>=2.12.0改为>=2.7.0:
environment: sdk: ">=2.7.0 <3.0.0" # sdk: ">=2.12.0 <3.0.0"
2.将Dart代码适配下null safety
142021-05-24 -
慕村0493939
提问者
2021-05-21
搜了一下,dart在2020年内支持空安全机制,课程代码可能已经旧了,那应该调低dart语法版本还是学高版本语法
空安全是2.12.x版本加进来的,我现在SDK是2.13.0 stable
10
相似问题