Go 101

Go 101 is a book focusing on Go syntax/semantics and all kinds of details (Go 1.11 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.

NOTE: if your last go get -u command run was at before July 28th, 2018, please run this command again to install the latest go101 program and articles.
2018/Dec/27: A serious mistake was just fixed in this book. Before, the book said the starting index in a subslice syntax can't be larger than the length of the base slice. This is wrong. This restriction never exists. Please read the corrected section again for details.
2019/Jan/15: The example for rate-limit was not correctly implemented before. Now it is fixed.

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.

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