Answers:
不,Go不提供REPL。
但是,正如已经提到的,Go Playground(这是新的URL)非常方便。Go Authors也正在考虑向其中添加功能丰富的编辑器。
如果您想要本地的东西,请考虑安装hsandbox。简单地使用hsandbox go
来运行该命令将拆分您的终端屏幕(使用screen
),您可以在顶部编写代码,并在每次保存时在底部查看其执行输出。
有一个gotry
标准去命令,用于计算表达式(使用可选的包名)中,并且可以像运行gotry 1+2
,并gotry fmt 'Println("hello")'
从壳。它不再可用,因为实际上没有多少人使用过它。
我还看到了用于为Go构建REPL的第三方项目,但是现在我只能找到其中两个的链接:igo和go-repl。我不知道他们的工作情况如何。
我的两分钱:编译速度使Go可以编写REPL,因为它也有助于构建此处提到的工具,但是相同的速度使REPL的必要性降低。每次我想在Go中测试无法在Playground中运行的内容时,我都会打开一个简单.go
文件并开始编码,然后直接运行代码。当go
Go 1中的命令使一个命令的构建过程变得可行且更容易时,这将更加容易。
更新: Go的最新每周发布增加了go
可用于轻松构建文件的命令:编写prog.go
文件并运行go build prog.go && ./prog
更新2:使用Go 1,您可以直接运行Go程序go run filename.go
更新3:gore
是一个新项目,似乎很有趣。
motemen/gore
那里玩-很好。
您尝试过Go Playground吗?
关于围棋场
Go Playground是一种在golang.org的服务器上运行的Web服务。该服务接收Go程序,进行编译,链接并在沙箱中运行该程序,然后返回输出。
如果您是Vim用户,则vim-go插件(https://github.com/fatih/vim-go)提供了一个命令(GoRun)来运行并打印当前缓冲区的输出。您仍然必须包括主Go文件的所有样板代码,但是它仍然提供了一种方便的方法来在本地环境中快速测试代码段。
高温超导
我在VSCode调试器上运气不错,但由于您无法从调试控制台Debug调用函数调用而受到的限制非常有限:#2225不支持的函数调用。
基本上,您可以在正确配置launch.json
文件后设置一个断点。然后,您可以在变量侧栏中的左侧向下钻取,并在调试控制台中输入变量表达式。
Gosh是交互式Golang Shell。目的是提供一个易于使用的交互式执行环境。
您可能还想尝试https://github.com/haya14busa/goplay, 这使您可以从终端直接将Go代码文件运行到Go Playground
请同时访问www.gorepl.com以获取Go REPL和其他REPL