空感知函数调用? [复制]

2023-11-26

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(使用前将#替换为@)

空感知函数调用? [复制] 的相关文章

随机推荐