交互式环境对程序员非常有帮助。但是,Go似乎没有提供它。我的理解正确吗?
不,Go不提供REPL。
但是,正如已经提到的,Go Playground(这是新的URL)非常方便。Go作者也正在考虑向其中添加功能丰富的编辑器。
如果您想要本地的东西,请考虑安装hsandbox。简单地使用hsandbox go来运行该命令将拆分您的终端屏幕(使用screen),您可以在顶部编写代码,并在每次保存时在底部查看其执行输出。
hsandbox go
screen
有一个gotry标准去命令,用于计算表达式(使用可选的包名)中,并且可以像运行gotry 1+2,并gotry fmt 'Println("hello")'从壳。它不再可用,因为实际上没有多少人使用过它。
gotry
gotry 1+2
gotry fmt 'Println("hello")'
我也看到了用于为Go构建REPL的第三方项目,但是现在我只能找到到其中两个的链接:igo和go- repl。我不知道他们的工作情况如何。
我的两分钱:编译速度使Go可以编写REPL,因为它也有助于构建此处提到的工具,但是相同的速度使REPL的必要性降低。每次我想在Go中测试无法在Playground中运行的内容时,我都会打开一个简单.go文件并开始编码,然后直接运行代码。当goGo 1中的命令使一个命令的构建过程变得可行且更容易时,这将更加容易。
.go
go
更新: Go的最新每周发布增加了go可用于轻松构建文件的命令:编写prog.go文件并运行go build prog.go && ./prog
prog.go
go build prog.go && ./prog
更新2 :使用Go 1,您可以直接运行Go程序go run filename.go
go run filename.go
更新3 :gore是一个新项目,似乎很有趣。
gore