Termbox
Termbox is a library that provides a minimalistic API which allows the programmer to write text-based user interfaces. The library is crossplatform and has both terminal-based implementations on *nix operating systems and a winapi console based implementation for windows operating systems. The basic idea is an abstraction of the greatest common subset of features available on all major terminals and other terminal-like APIs in a minimalistic fashion. Small API means it is easy to implement, test, maintain and learn it, that's what makes the termbox a distinct library in its area.
Installation
Install and update this go package with go get -u github.com/nsf/termbox-go
Examples
For examples of what can be done take a look at demos in the _demos directory. You can try them with go run: go run _demos/keyboard.go
There are also some interesting projects using termbox-go:
- godit is an emacsish lightweight text editor written using termbox.
 - gomatrix connects to The Matrix and displays its data streams in your terminal.
 - gotetris is an implementation of Tetris.
 - sokoban-go is an implementation of sokoban game.
 - hecate is a hex editor designed by Satan.
 - httopd is top for httpd logs.
 - mop is stock market tracker for hackers.
 - termui is a terminal dashboard.
 - termloop is a terminal game engine.
 - xterm-color-chart is a XTerm 256 color chart.
 - gocui is a minimalist Go library aimed at creating console user interfaces.
 - dry is an interactive cli to manage Docker containers.
 - pxl displays images in the terminal.
 - snake-game is an implementation of the Snake game.
 - gone is a CLI pomodoro® timer.
 - Spoof.go controllable movement spoofing from the cli
 - lf is a terminal file manager
 - rat lets you compose shell commands to build terminal applications.