Flutter 为什么这个颤振示例没有return关键字?
我正在阅读关于颤振的文档 在上,我观察到了以下奇怪的方法。在该方法中,声明的返回类型是Future。但是,该方法的任何地方都没有return关键字。为什么会这样Flutter 为什么这个颤振示例没有return关键字?,flutter,dart,Flutter,Dart,我正在阅读关于颤振的文档 在上,我观察到了以下奇怪的方法。在该方法中,声明的返回类型是Future。但是,该方法的任何地方都没有return关键字。为什么会这样 Future<void> _incrementCounter() async { setState(() { _counter++; }); Directory directory = await getApplicationDocumentsDirectory(); final String dir
Future<void> _incrementCounter() async {
setState(() {
_counter++;
});
Directory directory = await getApplicationDocumentsDirectory();
final String dirName = directory.path;
await File('$dir/counter.txt').writeAsString('$_counter');
}
我已经能够确定所有颤振函数都返回一个值,默认返回值为null。但是如果此方法总是返回null,那么为什么要声明Future的返回类型呢?这是因为该函数用异步修饰符标记: 未来的foo异步{ 打印“你好世界”; } 相当于 未来食品{ 试一试{ 打印“你好世界”; 返回Future.valuenull; }犯错误{ 返回Future.error; } }
在Dart中,尽管它是一种可选的类型化语言,这意味着您可以省略该类型,但建议您提供它 当方法没有返回类型时,会追加returnnull,所以在您的示例中适合返回Future.valuenull 请看