Flutter中的main()和void main()之间有什么区别



Flutter 中的main()void main()之间有什么区别

我在互联网上能找到的唯一答案是关于C++或类似的东西。

好吧,让我们看看:

void main() {
print(main.runtimeType);
}

将打印CCD_ 3。这意味着一个没有参数的函数返回void。

main() {
print(main.runtimeType);
}

将打印CCD_ 4。这意味着一个没有参数的函数返回动态。

main函数的有效返回类型为void:

每个应用程序都必须有一个顶级main((函数,该函数用作应用程序的入口点。main((函数返回void,并有一个可选的List<字符串>参数。

所以严格地说,没有返回类型(这意味着默认为类型dynamic(是错误的。但这是简化的初学者说明,所以也有例外。但当有疑问时,照本宣科。

不同的是,当从void read()中的函数返回值时,不能返回任何类型的值。。而在read()中,您可以返回任何类型的值,weather是int、double、String、list,还有一个集合因为它是动态的,您也可以键入dynamic read(),它与read()相同

void main () {
// print(iifo.runtimeType);
var k = iifo() ;
print(k) ;
}
iifo ( ) {
return ('Stack') ;
}

输出堆叠

在返回行中,您可以返回任何类型的数据(int、double、String、bool、list等(

这个答案不会直接回答您的问题,因为我看到它已经得到了正确的回答。但是,您可能会发现Dart应用程序中的main函数也可以返回Future<void>而不是void,因为您可以将main函数标记为async函数。

在Flutter应用程序的特定情况下,这意味着您可以在main()方法体中运行runApp(...)之前执行任何需要执行的操作,甚至异步。这样,在调用runApp(...)之前,启动屏幕将一直显示,直到检索到异步结果为止。例如,根据异步任务的结果设置着陆窗口小部件:

Future<void> main() async {
// Do whatever you need to do here
final home = await createHomeWidgetDependingOnAsyncResult();
return runApp(MyApp(home: home));
}

我发现了问题,我写道:

import 'LanguagesScreen.dart';

代替:

import 'package:flutter_projects/LanguagesScreen.dart';

最新更新