String extravar = touchableSpan.getMyVar();在这行String extravar = touchableSpan.getMyVar();中,我收到一个警告,即变量touchableSpan可能尚未初始化。为什么会有?
添加final修饰符时会出现此警告。在我有variable is access from inner class, needs to be declared final之前。
= null) { some clean up code }
但是VS不允许我这样做,因为它说我引用的是一个未赋值的变量。我很清楚,在运行这段代码时,它可能是未分配的,这就是null检查存在的原因。我不想在try块之外实例化对象,因为它做了一些事情,并且可能抛出异常,而且我不希望将整个事件包装在另一个try/catch块中,这样我就可以在那里实例化它。还有什么我能做的吗?
在Language Tour of Dart docs中,它说“注意:实例变量可以是final,但不能是const。Final实例变量必须在构造函数体开始之前初始化-在变量声明处,通过构造函数参数,或在构造函数的初始化器列表中。”
但是可以使用常量构造函数创建常量对象。为什么不能在Dart中将常量变量声明为成员变量?