如何直接从 terminal/command 行运行 Golang) 代码?
How to run Go(lang) code directly from terminal/command line?
我想直接从 terminal/command 行运行简单的 go 代码。例如:
go run "
package main
func main() {
println("hello")
}
"
hello
但是 golang 只允许从文件执行代码。那么也许有一些方法可以模拟它?像这样:
go run file.go < echo "...."
但是经过上面的操作应该没有文件。
在命令行中,只有像go-repl这样的项目才会compile/run多行go源代码而不留下任何.go
文件。
替代方案:gore:
$ gore
Enter one or more lines and hit ctrl-D
func test() string {return "hello"}
println(test())
^D
---------------------------------
hello
(“Does Go provide REPL?”中列出了其他类似 repl 的解决方案)
或者您需要开发一个 go 包装器,它会在内部创建一个源代码并运行 运行 它,然后再删除它。
Ubuntu 有一个 gorun
工具,非常适合小脚本。它即时编译脚本,将二进制文件缓存在 /tmp 中。
虽然它旨在用于脚本而不是作为 REPL,但您可以通过多种方式使用它。
虽然 gorun
来自 Ubuntu 社区,但它应该适用于任何 Linux 发行版,因为它通过
使用 vanilla Go 源代码
$ go get launchpad.net/gorun
我想直接从 terminal/command 行运行简单的 go 代码。例如:
go run "
package main
func main() {
println("hello")
}
"
hello
但是 golang 只允许从文件执行代码。那么也许有一些方法可以模拟它?像这样:
go run file.go < echo "...."
但是经过上面的操作应该没有文件。
在命令行中,只有像go-repl这样的项目才会compile/run多行go源代码而不留下任何.go
文件。
替代方案:gore:
$ gore
Enter one or more lines and hit ctrl-D
func test() string {return "hello"}
println(test())
^D
---------------------------------
hello
(“Does Go provide REPL?”中列出了其他类似 repl 的解决方案)
或者您需要开发一个 go 包装器,它会在内部创建一个源代码并运行 运行 它,然后再删除它。
Ubuntu 有一个 gorun
工具,非常适合小脚本。它即时编译脚本,将二进制文件缓存在 /tmp 中。
虽然它旨在用于脚本而不是作为 REPL,但您可以通过多种方式使用它。
虽然 gorun
来自 Ubuntu 社区,但它应该适用于任何 Linux 发行版,因为它通过
$ go get launchpad.net/gorun