REPL 与代码运行方式
本教程共 93 篇 · 第 5 篇 · 更新于 2026-08-08 · 约 7 分钟阅读
本节目标:读完你能说出 Swift 有哪几种运行代码的方式,并亲自用 REPL 做即时试验。
上一章我们用 swift 文件.swift 跑了程序,用 Playground 看了即时结果。其实 Swift 还有更”随手”的玩法——REPL。这一章把常见的几种运行方式摆在一起,让你知道什么场景该用什么。
1-1 什么是 REPL
REPL 是 “Read-Eval-Print-Loop” 的缩写,意思是”读取—求值—打印—循环”。说人话,就是一个让你一行一行敲代码、敲完立刻出结果、还能接着敲的交互界面。
它像和一个耐心的解题助手对话:你给一句,它回一句,上下文还一直保留着。前面定义的变量,后面还能用。
1-2 进入 Swift 的 REPL
在终端里直接输入:
swift
如果环境装好了,你会看到一个提示符(通常是 1>),表示它正在等你输入。试着敲:
let greeting = "你好"
print(greeting)
回车后立刻看到 你好 被打印出来。再敲 greeting.count,会返回字符数。前面定义的 greeting 在后续输入里一直有效,这就是”循环”的含义。
想退出 REPL,按 Ctrl+D 或输入 :quit 即可。
1-3 REPL 适合干什么
REPL 最适合”试小东西”。比如你忘了某个方法返回什么类型,直接在 REPL 里敲一下看结果;或者想验证一段运算对不对,随手就试,不必新建文件。
它也是调试思路的好地方:把复杂逻辑拆成几步,每步在 REPL 看中间值,比闷头写一整段再跑要高效。
TipREPL 里敲多行代码(比如一个
if或循环)时,换行后提示符会变成2>、3>之类,表示还在同一条输入里,敲完结构闭合会自动求值。初学者从单行试起最稳。
1-4 脚本模式:swift 文件.swift
这就是上一章用的方式。把一个 .swift 文件交给 swift 命令,它会读取整个文件、编译并运行。适合跑一段完整、可复用的小程序。
swift hello.swift
脚本模式的优点是:代码落到了文件里,可以反复跑、可以编辑保存、可以用版本管理。比起 REPL 的”说完就散”,脚本模式更正式,适合成型的练习和工具。
1-5 编译成可执行文件
swift 文件.swift 其实每次都在临时编译。如果你有个程序要反复运行,可以用 swiftc 把它编译成真正的可执行文件:
swiftc hello.swift -o hello
./hello
swiftc 是 Swift 编译器,-o hello 指定输出文件名。编译后得到的 hello 是个原生二进制,直接 ./hello 运行,不必每次重新编译,启动也更快。
对学语言来说,这一步不是必须的,但知道”Swift 最终会变成机器能直接跑的程序”很重要——它不是解释器一行行翻译,而是正经编译型语言。
1-6 Playground:图形化即时反馈
上一章讲过,Playground 是 Xcode 里的交互环境,右侧实时显示结果,还带时间轴。它本质是 REPL 的图形化、增强版,对视觉化学习特别友好。
四种方式对比一下:REPL 最随手,脚本模式最常用,编译成二进制最正式,Playground 最适合边看边学。它们背后都是同一个 Swift 编译器,区别只在”你怎样把代码喂给它”。
1-7 没有 main 函数这件事
习惯 C、Java 的人会找 main。Swift 的顶层代码(写在文件最外层、不在任何函数里的语句)本身就是入口。一个 .swift 文件里最外层按顺序执行的语句,就是程序的起点。
这也是为什么 print("Hello") 孤零零一行就能跑——它处在顶层,Swift 知道从这里开始执行。等你学到函数、类之后,顶层代码依然可以作为程序的入口存在。
Note在真实的大项目里,入口通常由框架管理(比如 App 的
@main)。但纯语言学习阶段,顶层代码的简单模型完全够用,也最不容易让新手迷路。
1-8 四种方式怎么选
运行方式看似琐碎,其实关系到你的学习效率。REPL 适合”试小东西”——忘了某个方法返回啥、想验证一段运算,随手敲一句立刻看结果,不用建文件。脚本模式适合跑成型的练习,代码落盘可反复运行。两者配合,日常学习基本够了。
需要强调,这几种方式背后都是同一个 Swift 编译器,区别只在”你怎样把代码喂给它”。理解这一点,你就不会被”到底该用哪个”困扰——它们都是同一门语言的不同入口,按场景挑顺手的即可。
对纯语言学习来说,swiftc 编译成二进制那步不是必须的,但知道 Swift 最终会变成机器能直接跑的程序很重要:它不是解释器一行行翻译,而是正经编译型语言,这也解释了为什么它运行起来快。等以后做更大的项目,编译这一步才会频繁出现。
新手常问”要不要装 IDE”。答案是:学语法阶段不需要。一个能跑 swift 命令的终端,加个顺手的文本编辑器,就足够了。等语法扎实了,再去碰 Xcode 或 VS Code 的图形化调试,才不会本末倒置。留个练习:在 REPL 里定义几个变量,做加减乘除以看结果,再用 :quit 退出。亲手走一遍,这章就算真学会了。
1-9 补记:工具没有高下
很多初学者纠结”该用哪个工具”,其实答案是”哪个顺手用哪个”。REPL 试小片段、脚本跑完整例子、Playground 看即时反馈,三者没有高下,只是场景不同。等你写大项目自然会用到 IDE,但学语法阶段,一个终端加编辑器足矣。别让工具选择成为拖延的借口,先把代码跑起来最重要。
1-10 小结
Swift 运行代码有四种常见姿势:REPL(swift 进交互)、脚本模式(swift 文件.swift)、编译二进制(swiftc)、Playground(图形即时)。学语法时,REPL 和 Playground 用来试小片段最爽,脚本模式用来跑完整例子最稳。记住它们都是同一个编译器在不同入口下的表现,你按场景挑顺手的用就行。