一尘不染

如果模块不是main.swift,则“不允许在顶层表达”

swift

main.swift文件有什么特别之处吗?

我已经在XCode中创建了一个基于命令行的项目。如果我println("Hello, World!");在一个新的swift文件中放置一个表达式说test.swift,我将收到错误消息: Expressions are not allowed at the top level

但是,此表达式位于XCode在新项目中创建的main.swift中的顶层。XCode不会标记此类异常。


阅读 413

收藏
2020-07-07

共1个答案

一尘不染

显然,按照这个答案。 但是,没有关于这种行为的引用

更新在Swift博客中有记录

…之前我们说过, 大多数 应用源代码文件都不允许使用顶级代码。唯一的例外是名为“
main.swift”的特殊文件,其行为与游乐场文件非常相似,但使用您应用程序的源代码构建。“
main.swift”文件可以包含顶级代码,并且顺序相关的规则也适用。实际上,将在“
main.swift”中运行的第一行代码隐式定义为程序的主要入口点。只要最小的Swift程序在“ main.swift”中,它就可以成为一行。

2020-07-07