Go Utils and Tools
- go-eval - Beginning of a Go interpreter forked from exp/eval.
Build Tools
Note that most of this build tools have been obsoleted by the new go
tool that is part of the standard distribution and its commands like: go build
, go instal
, etc.
- go-install-as - Go tool to install a package with a specific import path. By Matt Reiferson.
- go-runner - Simple runner for .go programs by Dimiter “malkia” Stanev.
- gofr - An automatic Go builder. By Kyle Lemons.
- godag - A frontend to the Go compiler collection. By bjarneh.
Build Tools
- GB - Another build tool for pure Go projects. By John Asmuth (aka skelterjohn).
- GG - A build tool for Go in Go. By manatlan.
- gobuild - Automatic build tool aiming to replace Makefiles for simple Go projects. By ShadowIce.
- gobuild-fork - A fork of gobuild.
- makengo - A build tool similar to Ruby’s rake. By Andrea Fazzi.
- gobbler - Go build tool to build and test advanced multi-package projects with little configuration. By Esko Luontola.
- gomake - A tool to build Go code. By Jan Hosang and others.
- goam - A simple build tool for Go projects, written in Go. By 0xe2-0x9a-0x9b.
SCons
- goscons - Set of SCons tools for Go, including Hudson support. By Albert Strasheim.
- SCons Go Tools - Various SCons builders to compile Go source. By Ross Light.
- scons-go-tools - Collection of builders to make it easy to compile Go projects with SCons. By Ross Light.
WAF
- go-waf - Example wscript using the WAF build system to build a Go project. By Alexander Dorofeev.
Jenkins/Hudson
- go2xunit - Converts
go test -v
output to xunit compatible XML. By Miki Tebeka.
Testing and Test Coverage
- gocov - Coverage testing tool for Go. By Andrew Wilkins.
Interaction with Other Languages
- goheader - Tool for translating C type declarations into its Go equivalent. By John Mac.
- language-go - A Haskell library for Go code analysis and generation. By Andrew Robbins.
- libgob - C library for creating and marshalling Go ‘gobs’ as implemented by the Go standard libraries. By Graham Miller.
Tag Generators
- gotags - Generate a tags file for the Go Programming Language in the format used by exuberant-ctags. Written in Go by Michael Elkins.
- egotags - ETags generator by Ashok Gautham (aka scriptdevil).
- tago - Emacs TAGS generator for Go source by Alex Combas.
- ctags-go - Exuberant ctags support for Go. By Alexey Marinichev.
Source Code Formatting and Refactoring
- hggofmt - A Mercurial/hg extension with a hook to gofmt changed files automatically before a commit. By Eric Eisner (aka ede).
- gocode - Autocompletion and refactoring daemon. By nsf.
- gorf - Refactoring tool. By John Asmuth.
- gofmt-git-hooks - Git Hooks to run gofmt. By various authors.
Source Code Navigation
- gosig - A small command line tool to extract type signatures and declarations from .go files. By Jimmy Frasche. Currently unmaintained.
Documentation Tools
- gortfm - Generator of powerful dynamic web interfaces for the documentation in Go packages. By nsf.
- mango-doc - A tool to generate man pages from source comments, entirely interoperable with godoc and written in Go. By Jimmy Frasche.
REPLs (Read-eval-print loops)
- yet-another-go-repl - A REPL by mattn.
- go-repl - A Go REPL; builds up a source .go file over time, compiles it for output. By Alex Suraci.
- igo - An interactive Go interpreter built on exp/eval with some readline refinements. By binet.
Lexers
- golex - Flex-compatible lexical analyser generator. By Arlen Christian Mart Cuss.
- nex - A lexer for Go similar to Lex/Flex. By Ben Lynn.
Preprocessors
- Gotgo - A Go preprocessor that provides an implementation of generics. By David Roundy.
- kgc - Korat Golang Compiler, a frontend for the standard ?g Go compilers that adds support for new language constructs: trait, case struct and pattern matching. By Chanwit Kaewkasi.
Misc
- dump - An utility that dumps Go variables, similar to PHP’s var_dump, by yukuku.
go/misc/bash/
in the standard Go distribution contains a completion file for bash.- Perlito - An implementation of a subset of Perl 6 with a Go (and other languages) backend.
- bin2go - A tool to generate byte array literals from binary files. By nsf.
- golint - Simple “linter” for Go (warning, not fully compatible with gofmt). By Scott Lawrence.
See Also
Alternative Go Compilers
- gofrontend – The Go frontend currently used by GCC, should be portable to other compilers. By iant.