Description
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). It features dynamic Go package help lookup, syntax highlighting with multiple themes, support for Fira Code font, and turtle graphics interpretation mode for even more fun. It uses the same sharing mechanism as the official Go Playground, meaning that one can use both playgrounds interchangeably with the same shared snippet IDs.
The Go Play Space alternatives and similar packages
Based on the "Go Tools" category.
Alternatively, view The Go Play Space alternatives based on common mentions on social networks and blogs.
-
JuiceFS
JuiceFS is a distributed POSIX file system built on top of Redis and S3. -
go-callvis
Visualize call graph of a Go program using Graphviz -
OctoLinker
OctoLinker — Links together, what belongs together -
JSON-to-Go
Translates JSON into a Go type in your browser instantly (original) -
gb
An easy to use project based build tool for the Go programming language. -
kube-prompt
An interactive kubernetes client featuring auto-complete. -
go-critic
The most opinionated Go source code linter for code audit. -
Peanut
🐺 Deploy Databases and Services Easily for Development and Testing Pipelines. -
golang-tutorials
Golang Tutorials. Learn Golang from Scratch with simple examples. -
xdg-go
Go implementation of the XDG Base Directory Specification and XDG user directories -
rts
RTS: request to struct. Generates Go structs from JSON server responses. -
typex
[TOOL, CLI] - Filter and examine Go type structures, interfaces and their transitive dependencies and relationships. Export structural types as TypeScript value object or bare type representations. -
golang-ipc
Golang Inter-process communication library for Window, Mac and Linux. -
gothanks
GoThanks automatically stars Go's official repository and your go.mod github dependencies, providing a simple way to say thanks to the maintainers of the modules you use and the contributors of Go itself. -
zb
an opinionated repo based tool for linting, testing and building go source -
Viney's go-cache
A flexible multi-layer Go caching library to deal with in-memory and shared cache by adopting Cache-Aside pattern. -
goroutines
It is an efficient, flexible, and lightweight goroutine pool. It provides an easy way to deal with concurrent tasks with limited resource. -
go-lock
go-lock is a lock library implementing read-write mutex and read-write trylock without starvation -
terminal-Task
Terminal tasks todo with reminder tool for geek -
An exit strategy for go routines.
An exit strategy for go routines -
version
Go package to present your CLI version with an upgrade notice. -
go-james
James is your butler and helps you to create, build, debug, test and run your Go projects -
import "github/shuLhan/share"
A collection of libraries and tools written in Go; including DNS, email, git ini file format, HTTP, memfs (embedding file into Go), paseto, SMTP, TOTP, WebSocket, XMLRPC, and many more. -
generator-go-lang
A Yeoman generator to get new Go projects started. -
PDF to Image Converter Using Golang
This project will help you to convert PDF file to IMAGE using golang. -
go-sanitize
:bathtub: Golang library of simple to use sanitation functions -
go-whatsonchain
:link: Unofficial golang implementation for the WhatsOnChain API -
docs
Automatically generate RESTful API documentation for GO projects - aligned with Open API Specification standard -
gomodrun
The forgotten go tool that executes and caches binaries included in go.mod files. -
Proofable
General purpose proving framework for certifying digital assets to public blockchains -
channelize
A websocket framework to manage outbound streams. Allowing to have multiple channels per connection that includes public and private channels. -
ciiigo
[mirror] Go static website generator with asciidoc markup language -
go-preev
:link: Unofficial golang implementation for the Preev API -
modver
Compare two versions of a Go module to check the version-number change required (major, minor, or patchlevel), according to semver rules. -
MessageBus implementation for CQRS projects
CQRS Implementation for Golang language -
go-slices
Helper functions for the manipulation of slices of all types in Go -
redispubsub
Redis Streams queue driver for https://godoc.org/gocloud.dev/pubsub package -
retry
Small, full-featured, 100% test-covered retry package for golang. -
num30/go-cache
An in-memory key:value store/cache (similar to Memcached) library that takes advantage of Go Generics
TestGPT | Generating meaningful tests for busy devs
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of The Go Play Space or a related project?
README
About Go Play Space
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.
Features
- Syntax highlighting, auto-closing braces and quotes, proper undo/redo, auto indentation
- Smart help lookup: double-click on e.g. package keyword or Println 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.
Running Locally
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.
Troubleshooting
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)
Feedback
Feel free to provide your feedback, suggestions or bug reports here in the bug tracker, or message @afan in the Gophers Slack channel.
Credits
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
*Note that all licence references and agreements mentioned in the The Go Play Space README section above
are relevant to that project's source code only.