我最近遇到了这个问题,如何解决Flutter中的“断言失败:布尔表达式不能为null”异常
问题出在哪里,应该是被视为有效的无效代码。
这段代码可以总结为:
int stuff;
if (stuff = null) { // = instead of ==
}
Run Code Online (Sandbox Code Playgroud)
但是为什么要编译此代码?如下将不会。
int stuff;
if (stuff = 42) {
}
Run Code Online (Sandbox Code Playgroud)
伴随以下编译错误:
条件必须具有静态的“布尔”类型。
因此,我可能会出于一致性考虑if (stuff = null)而产生相同的错误。
我期待一个包含String, Class, Function(?) 之类的列表。
我似乎无法在Dart 文档中的任何地方找到它。
具体来说,现在我正在写一些我想将函数作为参数传递的东西,所以我试图弄清楚函数/方法类型是什么(假设这是一个东西),但更普遍的是我想要对所有 Dart 类型原语的引用。