How to run Go(lang) code directly from terminal/command line?
Solution 1
In command-line, only a project like go-repl would compile/run a multi-line go source code without leaving any .go
file behind.
An alternative: gore:
$ gore
Enter one or more lines and hit ctrl-D
func test() string {return "hello"}
println(test())
^D
---------------------------------
hello
(Other repl-like solution are listed in "Does Go provide REPL?")
Or you would need to develop a go wrapper which would internally create a source code and go run it, before deleting it.
Solution 2
Ubuntu has a gorun
tool which works well for small scripts. It compiles scripts on the fly, caching the binaries in /tmp.
Although it's intended for scripting and not as a REPL, you could use it in various ways.
Although gorun
has come from the Ubuntu community, it should work on any Linux distro because it uses vanilla Go source code via
$ go get launchpad.net/gorun
Timur Fayzrakhmanov
Updated on June 15, 2022Comments
-
Timur Fayzrakhmanov almost 2 years
I want to run simple go code directly from terminal/command line. For example:
go run " package main func main() { println("hello") } " hello
However golang allows code execution only from file. So maybe there are some ways how to emulate it? Like this:
go run file.go < echo "...."
But there should be no files after actions above.
-
muthukumar selvaraj over 6 years
go: missing Bazaar command
the above command throws me an error -
nover about 4 years@muthukumarhelius You need to install the Bazaar version tool as Ubuntu hosts their gorun-code in a bzr repo. See more here: github.com/golang/go/wiki/GoGetTools