小编典典

Go是否提供REPL?

go

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


阅读 337

收藏
2020-07-02

共1个答案

小编典典

不,Go不提供REPL。

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

如果您想要本地的东西,请考虑安装hsandbox。简单地使用hsandbox 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是一个新项目,似乎很有趣。

2020-07-02