当前位置: 首页 > 面试题库 >

Go是否提供REPL?

冉丰茂
2023-03-14
问题内容

交互式环境对程序员非常有帮助。但是,Go似乎没有提供它。我的理解正确吗?


问题答案:

不,Go不提供REPL。

但是,正如已经提到的,Go
Playground
(这是新的URL)非常方便。Go作者也正在考虑向其中添加功能丰富的编辑器。

如果您想要本地的东西,请考虑安装hsandbox。简单地使用hsandbox go来运行该命令将拆分您的终端屏幕(使用screen),您可以在顶部编写代码,并在每次保存时在底部查看其执行输出。

有一个gotry标准去命令,用于计算表达式(使用可选的包名)中,并且可以像运行gotry 1+2,并gotry fmt 'Println("hello")'从壳。它不再可用,因为实际上没有多少人使用过它。

我也看到了用于为Go构建REPL的第三方项目,但是现在我只能找到到其中两个的链接:igo和go-
repl
。我不知道他们的工作情况如何。

我的两分钱:编译速度使Go可以编写REPL,因为它也有助于构建此处提到的工具,但是相同的速度使REPL的必要性降低。每次我想在Go中测试无法在Playground中运行的内容时,我都会打开一个简单.gohtml" target="_blank">文件并开始编码,然后直接运行代码。当goGo
1中的命令使一个命令的构建过程变得可行且更容易时,这将更加容易。

更新: Go的最新每周发布增加了go可用于轻松构建文件的命令:编写prog.go文件并运行go build prog.go && ./prog

更新2 :使用Go 1,您可以直接运行Go程序go run filename.go

更新3gore是一个新项目,似乎很有趣。



 类似资料:
  • 从priority_balanced_power_precission给出的精确度有多高得到了这个? 高精度模式使用所有位置提供商,但是,它优先考虑位置提供商,并包括GPS和位置提供商。定位精度大约在10米范围内。 NO_POWER不使用任何位置提供商,而是从其他应用程序获取位置的被动模式。精确度可能是一英里或更多。它完全基于其他应用程序最近获取的位置。 Priority_balanced_pow

  • 问题内容: 我开始在Go中编写服务器端应用程序。我想使用Accept- Encoding请求标头来确定是否GZIP响应实体。我曾希望找到一种直接使用http.Serve或http.ServeFile方法执行此操作的方法。 这是一个很普遍的要求。我错过了什么还是我需要推出自己的解决方案? 问题答案: 目前尚无对gzip压缩HTTP响应的“开箱即用”支持。但是添加它非常简单。看一下 https://g

  • 问题内容: 我有一个简单的属性设置方法,不适用于此特定属性。在这种情况下,我一直很痛苦:我应该扔还是?从看来,两者都合适。有某种可以理解的标准吗?还是这只是您应该做的任何事情之一,而且两者都是正确的? 问题答案: 如果你不想成为允许的值,则似乎需要调用;如果你尝试使用原来是的变量,则将抛出。

  • 我正在为java类的简介做作业,在解释用户需要提供多个输入时遇到了一些困难。问题如下: “要求用户输入一个数字。您应该使用一个输入对话框来进行此输入。请确保将对话框中的字符串转换为实数。程序需要跟踪用户输入的最小数字和输入的最大数字。询问用户是否要输入另一个数字。如果是,请重复此过程。如果不是,请输出用户输入。 当用户想要退出时,该程序在程序的末尾输出最大和最小的数字。 此外,您的程序应该考虑用户

  • 我是否正确理解: > 使用Rancher,您可以自行托管Kubernetes群集,还可以使用aws、google等云提供商。。。同时 如果2.是正确的,是否有可能在自托管库伯内特斯集群和云提供商库伯内特斯集群之间分配负载? 如果自托管集群的资源耗尽,是否也可以优先使用自托管集群,然后使用云提供商集群并使用集群自动缩放器扩展集群?

  • Java我可以通过这种方式得到一个月的第一天: 我想知道是否有一个函数可以直接做到这一点,因为我找不到一个函数来获取这些重要信息。 类似于我在这里尝试做的事情: