交互式环境对程序员非常有帮助。但是,似乎 Go 没有提供它。我的理解正确吗?
原文由 z_axis 发布,翻译遵循 CC BY-SA 4.0 许可协议
交互式环境对程序员非常有帮助。但是,似乎 Go 没有提供它。我的理解正确吗?
原文由 z_axis 发布,翻译遵循 CC BY-SA 4.0 许可协议
另一个运行良好的 Go REPL。具有行编辑、代码完成等功能。
https://github.com/motemen/gore
原文由 Bijan 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答884 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.1k 阅读
不,Go 不提供 REPL (read-eval-print 循环)。
然而,正如已经提到的, Go Playground 非常方便。 Go 的作者也在考虑为它添加一个功能丰富的编辑器。
如果您想要本地的东西,请考虑安装 hsandbox 。只需使用
hsandbox go
运行它就会拆分您的终端屏幕(使用screen
),您可以在其中编写代码并在每次保存时在底部查看其执行输出。在标准 Go 命令中有一个
gotry
用于评估表达式(带有可选的包名称),并且可以像gotry 1+2
和gotry fmt 'Println("hello")'
47dbee 一样运行.它不再可用,因为实际使用它的人并不多。我还看到了为 Go 构建 REPL 的第三方项目,但现在我只能找到其中两个的链接: igo 和 go-repl 。我不知道他们的工作情况如何。
我的两分钱:编译速度使得为 Go 编写 REPL 成为可能,因为它也有助于构建这里提到的工具,但同样的速度使得 REPL 变得不那么必要了。每次我想在 Go 中测试一些我无法在 Playground 中运行的东西时,我都会打开一个简单的
.go
文件并开始编码并运行代码。当 Go 1 中的go
命令使单命令构建过程成为可能并且更容易时,这将变得更加容易。更新: Go 的最新每周版本添加了
go
命令,可用于非常轻松地构建文件:编写你的prog.go
文件并运行go build prog.go && ./prog
更新 2 :使用 Go 1,您可以直接使用
go run filename.go
运行 go 程序更新 3 :
gore
是一个看起来很有趣的新项目。