Swift报错:expressions not allowed at the top level 问题咨询
解决Swift报错「expressions not allowed at the top level」
这个报错的核心意思是:你在代码的顶层作用域(就是文件最外层,没被任何函数、类、结构体等代码块包裹的区域)写了只能在代码块内部执行的表达式,Swift不允许这种写法。
错误示例
比如你可能写了这类代码:
let userName = "Bruna" print(userName) // 直接在顶层调用print,触发报错
或者:
var count = 0 count += 1 // 顶层直接做赋值运算,同样触发报错
正确写法
把这些执行类的代码放到函数、代码块里就行,常见的几种方式:
- 用自定义函数包裹,然后调用:
let userName = "Bruna" func runCode() { print(userName) var count = 0 count += 1 } runCode()
- 若是在Playground中,也可以用
do代码块快速包裹:
let userName = "Bruna" do { print(userName) var count = 0 count += 1 }
- 写可执行程序时,用
@main标记入口类:
@main struct MyProgram { static func main() { let userName = "Bruna" print(userName) } }
简单总结:顶层只能放「声明类代码」(比如定义变量、函数、类/结构体类型),不能放「执行类代码」(比如打印、赋值运算这类会实际运行的操作),把执行代码挪到函数或代码块里就解决了。
内容的提问来源于stack exchange,提问作者Bruna8989
相关产品推荐
相关产品推荐

