返回 工具

Go 在线编译器

我的工具
暂无工具

如何在线运行和测试 Go 代码

  1. 1

    输入或粘贴 Go 代码

    在编辑器中编写包含 func main 的 Go 代码,或直接选择预设示例快速开始。这个在线运行器适合做小片段测试、调试和学习演示。

  2. 2

    按需拆分多个文件

    同一个 main 包可以拆成多个 .go 文件,点击运行会整体执行。也可以上传文件或导入 ZIP,把现有片段搬进来。

  3. 3

    运行并检查输出

    点击「运行」后,代码会通过本地 Go WASM 运行时即时执行。右侧面板分别显示标准输出和错误信息,程序等待输入时会出现行内输入框。

  4. 4

    分享或复用片段

    你可以复制输出、恢复历史记录,或生成分享链接,让其他人直接打开并复现同一段 Go 代码。

功能概览

直接在浏览器里运行 Go 代码、试验 goroutine 和 channel、测试代码片段。基于本地 WASM 解释执行,无需服务器或本地环境,代码不上传。

工具描述

免费 Go 在线编译器和 Playground,在浏览器运行 Go 代码。支持 goroutine 并发演示、同包多文件项目、文件上传与交互式输入,预置常用第三方包,代码和数据不上传服务器。

最近更新

能力清单

  • 基于 Go WASM 运行时在浏览器本地执行 Go 代码,无需上传数据。
  • 支持 goroutine、channel、select 等 Go 并发原语,直接体验并发编程。
  • 标准库开箱即用:fmt、strings、strconv、sort、time、encoding/json、errors 等均可直接 import。
  • 预置精选第三方包(uuid、yaml.v3、errgroup、decimal),import 即用无需安装。
  • 支持同一个 main 包拆成多个源文件,配合文件工作区整体运行,可上传文件与导入 ZIP。
  • 交互式控制台输入:bufio.Scanner(os.Stdin) 等标准用法可直接逐行读取输入。
  • 死循环一键停止,立即回到可运行状态。
  • 运行历史保存在本地,可随时恢复、重跑和对比代码片段。
  • 支持生成可分享链接,方便和同事复现同一段 Go 代码。

用户反馈

提交的内容将在审核(必要时会做脱敏处理)后公开展示;请勿在内容中填写邮箱、密码等个人信息。

您的反馈将帮助我们做得更好 ❤️

相关工具

常见问题

这个工具更像 Go online compiler 还是 Go code runner?
大多数用户搜索 Go online compiler,真实需求其实是一个能立即执行代码并清楚展示结果的 Go code runner。这个工具在浏览器里即时解释执行并流式展示输出,重点是小片段的运行与调试,而不是完整工程构建。
代码是在服务器上运行吗?
不是。运行时基于 WebAssembly 在你的浏览器本地执行,普通使用场景下代码无需上传到远程服务器,适合私密的代码片段测试。
这个工具支持哪些 Go 版本?
运行时基于 Go 1.22 的标准库构建,语言特性覆盖到 1.21 并支持大部分常用泛型语法。个别最新语法特性可能不被支持,遇到报错时可以换成等价的经典写法。
这个工具支持哪些第三方包?
当前预置了 github.com/google/uuid、gopkg.in/yaml.v3、golang.org/x/sync/errgroup 和 github.com/shopspring/decimal,import 即用。其他第三方包暂不支持,标准库无需任何操作即可使用。
适合在线测试哪些 Go 代码?
这个工具适合测试语法、goroutine 与 channel、接口、错误处理、切片与映射、JSON 编解码、字符串处理、time 包等核心片段。依赖 CGO、本地文件系统、网络监听(如 http.ListenAndServe)或数据库的完整服务端场景不在目标范围内。
这个工具能运行哪些标准库?
fmt、strings、strconv、sort、time、math、errors、encoding/json、sync、bufio、io 等常用标准库都可以直接 import 使用。
Go 代码运行有时间限制吗?
没有强制超时。长时间运行的代码会一直执行,必要时点击「停止」立即终止,停止后可以马上再次运行。
这个工具的行内输入框在什么时机出现?
程序调用 bufio.NewScanner(os.Stdin) 或 fmt.Scan 等读取输入时,输出流末尾会出现行内输入框,逐行提交即可。结束输入按「EOF」按钮,程序会读到文件结束。