Skip to content
View go101's full-sized avatar
Block or Report

Block or report go101

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
go101/README.md

Go 101 is a series of books on Go programming. Currently, the following books are avaliable:

  • Go (Fundamentals) 101, which focuses on Go syntax/semantics (except custom generics related) and all kinds of runtime related things.
  • Go Generics 101, which explains Go custom generics in detail.
  • Go Optimizations 101, which provides some code performance optimization tricks, tips, and suggestions.
  • Go Details & Tips 101, which collects many details and provides several tips in Go programming.

These books are expected to help gophers gain a deep and thorough understanding of Go and be helpful for both beginner and experienced Go programmers.

To get latest news of Go 101 books, please follow the official twitter account @zigo_101.

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 go101.org/go101@latest

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

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

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

### Install.

$ git clone https://github.com/go101/go101.git

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

$ git pull

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

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

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

Options:

-port=1234
-theme=light # or dark (default is light)

Some HTML files are generated from their corresponding markdown files. If a markdown file is modified, we can run go run . -gen to synchronize its corresponding HTML file.

Contributing

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:

License

Please read the LICENSE for more details.

Pinned

  1. go101 go101 Public

    An up-to-date (unofficial) knowledge base for Go programming self learning

    HTML 5.4k 406

  2. golds golds Public

    An experimental Go local docs server/generator and code reader implemented with some fresh ideas.

    Go 579 28

  3. gotv gotv Public

    A tool used to manage installations of multiple Go toolchain versions

    Go 24 2

  4. go-skia go-skia Public

    A Go skia binding based on skia C library through cgo

    C 29 5

  5. immutable-value-proposal immutable-value-proposal Public

    A proposal to support read-only and immutable values in Go

    2 1

  6. go-graphics/go-gui-projects go-graphics/go-gui-projects Public

    A list of Go GUI projects

    1.5k 78