交互环境对程序员非常有帮助。然而,Go似乎并没有提供这一点。我的理解正确吗?


当前回答

Gosh是互动的Golang壳。目标是提供一个易于使用的交互式执行环境。

https://github.com/mkouhei/gosh

其他回答

你还有一个最近(2013年3月)的项目,叫做Sriram Srinivasan的gore,这个项目可能很有用:

gore是golang代码的命令行求值器——如果你愿意的话,这是一个没有循环的REPL。 它是go playground的替代品,同时使交互地尝试代码变得更容易:gore自动提供样板代码,如导入和包声明以及主函数包装器。 此外,由于它运行在你自己的计算机上,没有代码会因为安全原因被拒绝(不像go playground的安全沙盒模式)。

Go代码可以在Visual Studio code中使用Go扩展和code Runner扩展以类似repl的方式运行。点击下面截图中由鼠标光标标记的运行三角形▶以运行代码,并在Visual Studio code底部的输出窗格中显示结果。

当使用Go Visual Studio Code编程时,会建议安装额外的Go扩展来扩展Visual Studio Code的功能。

GoSpeccy项目包括一个内置的Go语言的一个受限子集的REPL。实现使用了goeval。

我有一些运气与VSCode调试器,但它是相当有限的,到目前为止,你不能调用从调试控制台函数调用debug:函数调用不支持#2225。

基本上,在正确配置启动后设置断点。json文件。然后,您可以在变量侧栏的左侧向下钻取,并在调试控制台输入变量表达式。

如果您是Vim用户,Vim -go插件(https://github.com/fatih/vim-go)提供了一个命令(GoRun)来运行和打印当前缓冲区的输出。您仍然必须包含主Go文件的所有样板代码,但它仍然提供了一种在本地环境中快速测试代码片段的方便方法。