Go Play Space is an experimental alternative Go Playground frontend that is built in Go itself (using GopherJS), a Go→JavaScript transpiler, and Vecty, a React-like frontend library for GopherJS).
Try it: https://goplay.space
Go Play Space supports the Turtle graphics mode to help visualize algorithms and make learning experience more fun.
- Syntax highlighting, auto-closing braces and quotes, proper undo/redo, auto indentation
- Smart help lookup: double-click on e.g.
package
keyword orPrintln
function name in source code, and you will see the relevant help topic. - Live syntax error checking
- Error line highlighting (both for syntax errors and for errors returned from the compiler)
- Ability to highlight lines and blocks of code (like on Github, but better!) — just click on the line numbers. Use Shift and Ctrl to modify the selection
- Keyboard shortcuts (see button captions)
- Support for several UI themes
- Support for Fira Code font (either the one installed in your system or a webfont)
go imports
is always run before running your code, so you don't usually have to worry about imports at all
Code execution is proxied to the official Go Playground, so your programs will work the same. Shared snippets are also stored on golang.org servers.
Download the package:
$ go get -u github.com/iafan/goplayspace/...
Compile both client-side code and server binary:
$ cd $GOPATH/src/github.com/iafan/goplayspace/bin
$ ./build-client && ./build-server
Run the server:
$ ./goplayspace
Then open http://localhost:8080/ in your browser.
If you have trouble compiling the client, please make sure you have the latest version of GopherJS installed by running go get -u github.com/gopherjs/gopherjs
(see #6)
Feel free to provide your feedback, suggestions or bug reports here in the bug tracker, or message @afan in the Gophers Slack channel.
Gopher vector logo by Takuya Ueda, licensed under the Creative Commons 3.0 Attributions license and based on original artwork by Renee French. See https://github.com/golang-samples/gopher-vector
Go proverbs: Rob Pike