The interactive environment is VERY helpful for a programmer. However, it seems Go does not provide it. Is my understanding correct?
No, Go does not provide a REPL(read–eval–print loop).
However, as already mentioned, Go Playground (this is the new URL) is very handy. The Go Authors are also thinking about adding a feature-rich editor to it.
If you want something local, consider installing hsandbox. Running it simply with
hsandbox go will split your terminal screen (with
screen) where you can write code at the top and see its execution output at the bottom on every save.
There was a
gotry among standard Go commands, which used to evaluate expressions (with an optional package name), and could be run like
gotry 1+2 and
gotry fmt 'Println("hello")' from shell. It is no longer available because not many people actually used it.
My two cents: Speed of compilation makes writing a REPL possible for Go, as it has also helped building the tools mentioned here, but the same speed makes REPL less necessary. Every time I want to test something in Go that I can’t run in Playground I open a simple
.go file and start coding and simply run the code. This will be even easier when the
go command in Go 1 makes one-command build process possible and way easier.
UPDATE: Latest weekly release of Go added
go command which can be used to very easily build a file: write your
prog.go file and run
go build prog.go && ./prog
UPDATE 2: With Go 1 you can directly run go programs with
go run filename.go
gore is a new project which seems interesting.
Answered By – Mostafa
Answer Checked By – Mildred Charles (GoLangFix Admin)