繁体   English   中英

如何直接从终端/命令行运行 Go(lang) 代码?

[英]How to run Go(lang) code directly from terminal/command line?

我想直接从终端/命令行运行简单的 go 代码。 例如:

go run "
package main
func main() {
println("hello")
}
"
hello

但是 golang 只允许从文件执行代码。 那么也许有一些方法可以模拟它? 像这样:

go run file.go < echo "...."

但是在上述操作之后应该没有文件。

在命令行中,只有像go-repl这样的项目才能编译/运行多行 go 源代码,而不会留下任何.go文件。
另一种选择:戈尔

$ gore
Enter one or more lines and hit ctrl-D
func test() string {return "hello"}
println(test())
^D
---------------------------------
hello

(其他类似 repl 的解决方案在“ Go 是否提供 REPL? ”中列出)

或者你需要开发一个 go 包装器,它会在内部创建一个源代码并在删除它之前运行它。

Ubuntu 有一个gorun工具,它适用于小脚本。 它动态编译脚本,将二进制文件缓存在 /tmp 中。

https://wiki.ubuntu.com/gorun

尽管它是用于编写脚本而不是用作 REPL,但您可以通过多种方式使用它。

尽管gorun来自 Ubuntu 社区,但它应该适用于任何 Linux 发行版,因为它通过以下方式使用 vanilla Go 源代码

$ go get launchpad.net/gorun

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM