gpt4 book ai didi

flutter - Dart main()函数是否需要为void main()或可以省略void类型?

转载 作者:行者123 更新时间:2023-12-03 03:21:49 30 4
gpt4 key购买 nike

作为一个完整的初学者学习Dart,我想了解void函数是否需要main类型。在官方语言浏览:https://dart.dev/guides/language/language-tour#a-basic-dart-program中,示例不包括void关键字/类型。
但是在其他地方,我们播种void main() { ...

以下两个代码段具有相同的输出:

main() {
print('Hello World!');
}

在Dart Pad上运行良好: https://dartpad.dartlang.org/fa6f6e5a7b9406e88b31a17e82655ef8
(我们看不到任何编译器警告或建议添加 void的建议)

void main() {
print('Hello World!');
}

void 是一个没有人质疑的约定,还是我们可以排除它而没有任何后果?

注意:我知道 void关键字/类型的历史,我只是想了解我是否可以安全地从更高级的程序中省略 void或是否需要。
  • https://en.wikipedia.org/wiki/Void_type
  • https://medium.com/flutter-community/the-curious-case-of-void-in-dart-f0535705e529
  • https://medium.com/dartlang/dart-2-legacy-of-the-void-e7afb5f44df0
  • 最佳答案

    Dart 2.2 language specification说:

    18.4 Scripts

    A script is a library whose exported namespace (18.2) includes a top-level function declaration named main that has either zero, one or two required arguments.



    该规范对其参数的名称和类型(和类型)施加了要求。对其返回类型没有要求,因此使用其他类型(例如 dynamic,如果您省略 void将会是这种类型)将无效。

    关于flutter - Dart main()函数是否需要为void main()或可以省略void类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62346301/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com