Go 101 is an unofficial, comprehensive knowledge base for the Go programming language, designed as a structured self-study resource covering syntax, semantics, best practices, and common pitfalls. It serves as a complete offline documentation system, installable as a local website that can be browsed without an internet connection, and includes a built-in HTTP server for serving the content locally.
The project distinguishes itself through its depth and breadth of coverage, offering a structured book series that teaches Go fundamentals, a deep dive into the type system, and detailed guides on concurrent programming, generics, and memory management. It includes an interactive quiz engine for testing knowledge, a curated collection of over 100 programming details and tips, and a versioned catalog of known Go compiler and runtime bugs with workarounds. The content is organized as a hierarchy of Markdown files mapped directly to URL paths, with cross-referencing between related topics.
Beyond the core learning materials, Go 101 provides a blog with articles on Go developments and best practices, a Q&A resource for common programming doubts, and a catalog of Go applications and libraries. The documentation covers performance optimization techniques, including memory allocation control and garbage collection pressure reduction, as well as guides for identifying and avoiding bugs across different Go toolchain versions. The entire knowledge base can be installed locally via a command-line tool, enabling offline browsing of the full book series and all supplementary content.