空感知函数调用?
Null-aware function call?
Dart 有一些 null-aware 运算符,即可以做到
var obj;
obj?.foo(); // foo is only called if obj != null.
这也适用于存储或传递给变量的函数吗?通常的模式是
typedef void SomeFunc();
void foo(SomeFunc f) {
if (f != null) f();
}
如果能在这里进行一些 null 感知调用就好了,比如 f?()
。有什么我们可以用来避免对这些回调进行空检查的代码吗?
形成docs:
Dart is a true object-oriented language, so even functions are objects and have a type, Function.
将 null 感知 ?.
运算符应用于函数对象的 call
方法:
typedef void SomeFunc();
SomeFunc f = null;
f?.call();
Dart 有一些 null-aware 运算符,即可以做到
var obj;
obj?.foo(); // foo is only called if obj != null.
这也适用于存储或传递给变量的函数吗?通常的模式是
typedef void SomeFunc();
void foo(SomeFunc f) {
if (f != null) f();
}
如果能在这里进行一些 null 感知调用就好了,比如 f?()
。有什么我们可以用来避免对这些回调进行空检查的代码吗?
形成docs:
Dart is a true object-oriented language, so even functions are objects and have a type, Function.
将 null 感知 ?.
运算符应用于函数对象的 call
方法:
typedef void SomeFunc();
SomeFunc f = null;
f?.call();