交互环境对程序员非常有帮助。然而,Go似乎并没有提供这一点。我的理解正确吗?
当前回答
你还有一个最近(2013年3月)的项目,叫做Sriram Srinivasan的gore,这个项目可能很有用:
gore是golang代码的命令行求值器——如果你愿意的话,这是一个没有循环的REPL。 它是go playground的替代品,同时使交互地尝试代码变得更容易:gore自动提供样板代码,如导入和包声明以及主函数包装器。 此外,由于它运行在你自己的计算机上,没有代码会因为安全原因被拒绝(不像go playground的安全沙盒模式)。
其他回答
请登录www.gorepl.com查看go REPL和其他REPL
你试过Go Playground吗?
关于Go游乐场 Go Playground是一个运行在golang.org服务器上的网络服务。 服务接收一个Go程序,编译、链接并运行 在沙箱中编程,然后返回输出。
不,Go不提供REPL(read-eval-print循环)。
然而,如前所述,Go Playground非常方便。Go Authors也在考虑添加一个功能丰富的编辑器。
如果你想要本地的东西,考虑安装hsandbox。简单地使用hsandbox go运行它将拆分您的终端屏幕(与屏幕),您可以在顶部编写代码,并在每次保存时在底部看到其执行输出。
在标准的Go命令中有一个gotry,用来计算表达式(有一个可选的包名),可以像gotry 1+2和gotry fmt 'Println("hello")'一样从shell运行。它不再可用,因为没有多少人真正使用它。
我也看到过为Go构建REPL的第三方项目,但现在我只能找到其中两个的链接:igo和Go - REPL。我不知道它们的效果如何。
我的观点:编译速度使编写REPL成为可能,因为它也有助于构建这里提到的工具,但同样的速度使REPL变得不那么必要了。每次我想在Go中测试一些我不能在Playground中运行的东西时,我都会打开一个简单的. Go文件并开始编码并简单地运行代码。当go 1中的go命令使一个命令构建过程成为可能时,这将更加容易。
更新:最新的每周发布的Go添加了Go命令,可以用来非常容易地建立一个文件:写你的程序。然后运行Go build prog。Go && ./prog
更新2:使用Go 1,你可以直接使用Go run filename.go运行Go程序
更新3:gore是一个看起来很有趣的新项目。
我有一些运气与VSCode调试器,但它是相当有限的,到目前为止,你不能调用从调试控制台函数调用debug:函数调用不支持#2225。
基本上,在正确配置启动后设置断点。json文件。然后,您可以在变量侧栏的左侧向下钻取,并在调试控制台输入变量表达式。
Gosh是互动的Golang壳。目标是提供一个易于使用的交互式执行环境。
https://github.com/mkouhei/gosh