Dart 有一些空感知运算符,即可以执行以下操作
var obj;
obj?.foo(); // foo is only called if obj != null.
这对于存储或传递给变量的函数也可能吗?通常的模式是
typedef void SomeFunc();
void foo(SomeFunc f) {
if (f != null) f();
}
在这里进行一些空感知调用会很好,例如f?()
。我们可以使用什么方法来避免对这些回调进行 null 检查而导致代码乱七八糟吗?
形成docs:
Dart 是一种真正的面向对象语言,因此即使是函数也是对象并且具有类型 Function。
应用空感知?.
运算符到call
函数对象的方法:
typedef void SomeFunc();
SomeFunc f = null;
f?.call();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)