小编典典

Go 是否提供 REPL?

javascript

交互式环境对程序员非常有帮助。但是,Go 似乎没有提供它。我的理解正确吗?


阅读 178

收藏
2021-11-03

共1个答案

小编典典

Go 不提供 REPL。

然而,正如已经提到的,Go Playground(这是新的 URL)非常方便。Go 作者也在考虑向其添加功能丰富的编辑器。

如果您想要本地的东西,请考虑安装hsandbox。简单地使用 withhsandbox go将拆分您的终端屏幕(使用screen),您可以在其中在顶部编写代码并在每次保存时在底部查看其执行输出。

有一个gotry标准去命令,用于计算表达式(使用可选的包名)中,并且可以像运行gotry 1+2,并gotry fmt 'Println("hello")'从壳。它不再可用,因为实际上并没有多少人使用它。

我还看到了为 Go 构建 REPL 的第三方项目,但现在我只能找到其中两个的链接:igogo-repl。我不知道它们的效果如何。

我的两分钱:编译速度使得为 Go 编写 REPL 成为可能,因为它也有助于构建这里提到的工具,但相同的速度使得 REPL 的必要性降低。每次我想在 Go 中测试一些我无法在 Playground 中运行的东西时,我都会打开一个简单的.go文件并开始编码并简单地运行代码。当goGo 1 中的命令使单命令构建过程成为可能并且更容易时,这将更加容易。

更新:最新每周发布的 Go 添加go命令,可用于非常轻松地构建文件:编写prog.go文件并运行go build prog.go && ./prog

更新 2:使用 Go 1,您可以直接运行 go 程序go run filename.go

更新 3gore是一个看起来很有趣的新项目。

2021-11-03