A Tour of Go is an introduction to the Go programming language.

The easiest way to install the tour locally is to install
[a binary release of Go](https://golang.org/dl/) and then run:

	$ go tool tour

To install the tour from source, first 
[set up a workspace](https://golang.org/doc/code.html) and then run:

	$ go get golang.org/x/tour/gotour

This will place a `gotour` binary in your workspace's `bin` directory.

Unless otherwise noted, the go-tour source files are distributed
under the BSD-style license found in the LICENSE file.

Contributions should follow the same procedure as for the Go project:
http://golang.org/doc/contribute.html
