Learn Go facts and details by participating in some quizzes. NEW!

Go 101

Go 101 is a book focusing on Go syntax/semantics and all kinds of details (Go 1.13 ready). This book also tries to help gophers gain a deep and thorough understanding of Go. It is expected that this book is helpful for both beginner and experienced Go programmers.

the book
(about 500 pages)
The digital versions of this book are available at the following places: Tapir, the author of Go 101, has spent 3+ years on writing the Go 101 book and maintaining the go101.org website. New contents will continue being added to the book and the website from time to time. If you would like to, you can support the book and the website by making a donation through Paypal ($5, $9, $15, or $25) or buying Tapir a coffee (way 1 and way 2).
2019/Oct/30:
2019/Oct/18: An explanation description flaw is found in the Evaluation and Assignment Orders in Assignment Statements section in the "Expression Evaluation Orders" article. A simpler description is provoded now.
2019/Sep/30: A new fact is added to the "Type-Unsafe Pointers" article and a serious mistake was found in the pattern 3: convert unsafe pointer to uintptr, do arithmetic operations with the uintptr value, then convert it back section. (I decided to withdraw this erratum.)
Index:

The Go 101 project is hosted on both Github and Gitlab. Welcome to improve Go 101 articles by submitting corrections for all kinds of mistakes, such as typos, grammar errors, wording inaccuracies, description flaws, code bugs and broken links.

If you would like to learn some Go details and facts every serveral days, please follow Go 101's official Twitter account: @go100and1.

If you would like to, you can support the book and the website by making a donation through Paypal ($5, $9, $15, or $25) or buying Tapir a coffee (way 1 and way 2).

You can also support Go 101 by playing Tapir's games.
Cryptocurrency donations are welcome too:
Bitcoin: 1xucQbv5jujFPPwhyg395ri5yV71hx9g9
Ethereum: 0x5dc4aa2c2bbfaadae373dadcfca11b3358912212