在 Dart 中执行可选(可为空)“Function”

dev*_*dam 6 dart flutter

在某些语言(例如 Swift)中,如果您有如下所示的可选变量

var onItemPressed: ((Item) -> Void)?

// we can call this variable (function) like this
onItemPressed?(Item())
Run Code Online (Sandbox Code Playgroud)

在 Dart 语言中这相当于什么?

Nis*_*ddy 13

Dart 中的等效方法是call函数上的方法。

像这样,

onItemPressed?.call(Item())
Run Code Online (Sandbox Code Playgroud)

所以基本上,每当你的onItemPressedis时null,执行都会自行短路,并且不会被调用,从而避免崩溃。