Dart `void` vs `Function` vs `void Function()`
Dart `void` vs `Function` vs `void Function()`
Flutter 的 InkWell
小部件有一个 onTap
类型的参数 void Function()
。如果我声明并传递一个 void 方法,我会得到一个类型错误 This expression has a type of 'void' so its value can't be used.
如果我使用 Function
代替,我还必须显式 return null;
。我只想使用 void,并省略显式 return 语句。
有人可以解释一下这些类型之间的区别吗?
void
Function
void Function()
(我找不到这个问题的确切答案,尽管它听起来可能与其他问题相似。)
事情是:InkWell
小部件的 onTap
接受回调 void Function
(一个没有 return 任何东西的函数),它将是 运行每次用户按下按钮时。
很难确定,因为您没有共享代码,但我猜您很可能 运行ning 函数而不是在没有括号的情况下传递它。因为您正在调用或 运行ning 函数,所以您没有传递它,而是传递了 returned void
.
尝试传递不带括号的函数,这样它就不会得到 运行。
Flutter 的 InkWell
小部件有一个 onTap
类型的参数 void Function()
。如果我声明并传递一个 void 方法,我会得到一个类型错误 This expression has a type of 'void' so its value can't be used.
如果我使用 Function
代替,我还必须显式 return null;
。我只想使用 void,并省略显式 return 语句。
有人可以解释一下这些类型之间的区别吗?
void
Function
void Function()
(我找不到这个问题的确切答案,尽管它听起来可能与其他问题相似。)
事情是:InkWell
小部件的 onTap
接受回调 void Function
(一个没有 return 任何东西的函数),它将是 运行每次用户按下按钮时。
很难确定,因为您没有共享代码,但我猜您很可能 运行ning 函数而不是在没有括号的情况下传递它。因为您正在调用或 运行ning 函数,所以您没有传递它,而是传递了 returned void
.
尝试传递不带括号的函数,这样它就不会得到 运行。