Flutter Dart 函数作为另一个函数的参数

Flutter Dart Function as a Parameter to Another Function

我正在查看文档,但未能找到问题的答案:

假设我有一个 returns a Future<String> 函数,我想将其嵌入到第二个函数中,该函数可以采用 Future<String> 类型的任何其他函数,语法 -如果我没记错的话-会是:

String functionTwo(Future<User> Function() putFunctionHere) async {
  await code
  return 'some string';
}

如果我不得不猜测 Dart 语法,我会说它是:

String functionTwo(Function putFunctionHere){...}

这引出了我的问题,为什么我们必须指定 Future<User> Function() 这是唯一的方法吗?

为什么我们必须在 Function

旁边加上括号

语法如下:

OutputType Function(ParameterType1 paramater1, ParameterType2 parameter2...) nameOfFunctionForUsageInsideTheMethod

因此可以阅读以下内容,我们将函数作为参数,该函数必须 return Future<User> 并且不带任何参数。

Future<User> Function() putFunctionHere

然后可以将此函数称为 putFunctionHere,例如:

final value = await putFunctionHere()