Skip to content
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.

Report abuse

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

Report abuse
go101/README.md

Go 101 in Leanpub store | Go 101 in Apple Books store | Go 101 in Kindle store | eBooks | Blog | wiki


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 @go100and1 and join the Go 101 Slack space.

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)

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 Public

    An online book focusing on Go syntax/semantics and runtime related things

    HTML 4.4k 323

  2. golds Public

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

    Go 379 20

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

    2 1

  4. go-skia Public

    A Go skia binding based on skia C library through cgo

    C 19 5

232 contributions in the last year

Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr Mon Wed Fri

Contribution activity

April 2022

Created 11 commits in 2 repositories
Reviewed 1 pull request in 1 repository
go101/go101 1 pull request

Created an issue in golang/go that received 3 comments

cmd/compile: crash on an unusual program

What version of Go are you using (go version)? $ go version go version go1.18 linux/amd64 What did you do? package main func main() { _: _: // in…

3 comments

Seeing something unexpected? Take a look at the GitHub profile guide.