最近准备学习一下Flutter,现从Dart开始。
Dart ??
运算符报错的解决方案
报错代码如下
main() {
int a;
int b = a ?? 123;
print(b);
}
报错表现如下
_D05.8%20%E5%8F%8C%E9%97%AE%E5%8F%B7%E8%BF%90%E7%AE%97%E7%AC%A6.dart:3:11: Error: Non-nullable variable 'a' must be assigned before it can be used.
int b = a ?? 123;
^
截图如下:
解决方案
将具体的数据类型变为var即可(不要定义)int或者String等,直接var
上面报错代码做如下修改后正常运行:
main() {
var a;
var b = a ?? 123;
print(b);
}
疑问
看别人用具体数据类型也是可以执行不会报错的,可能是我的Dart版本较新取消了这种写法,有待验证。