Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

Go 101 in Leanpub store | Go 101 in Apple Books store | Go 101 in Kindle store | eBooks | update history | wiki

Go 101 is a book focusing on Go syntax/semantics and all kinds of runtime related things. It tries to help gophers gain a deep and thorough understanding of Go. This book also collects many details of Go and in Go programming. The book is expected to be helpful for both beginner and experienced Go programmers.

To get latest changes of Go 101, please follow the official twitter account: @go100and1.

Install, Update, and Read Locally

If you use Go toolchain v1.16+, then you don't need to clone the project respository:

### Install or update.

$ go install

### Read. (GOBIN path, defaulted as GOPATH/bin, should be set in PATH)

$ go101
Server started:
   http://localhost:55555 (non-cached version) (cached version)

If you use Go toolchain v1.15-, or you would make some modifications (for contribution, etc.):

### Install.

$ git clone

### Update. Enter the Go 101 project directory (which
# contains the current `` file), then run

$ git pull

### Read. Enter the Go 101 project directory, then run

$ go run .
Server started:
   http://localhost:55555 (non-cached version) (cached version)

The start page should be opened in a browser automatically. If it is not opened, please visit http://localhost:55555.


-theme=light # or dark (default)


Welcome to improve Go 101 by:

  • Submitting corrections for all kinds of mistakes, such as typos, grammar errors, wording inaccuracies, description flaws, code bugs and broken links.
  • Suggesting interesting Go related contents.

Current contributors are listed on this page.

Translations are also welcome. Here is a list of the ongoing translation projects:


Please read the LICENSE for more details.