# go101/go101

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/go101-go101).**

6,042 stars · 450 forks · HTML · NOASSERTION

## Links

- GitHub: https://github.com/go101/go101
- Homepage: https://go101.org
- awesome-repositories: https://awesome-repositories.com/repository/go101-go101.md

## Topics

`book` `details` `faq` `go` `golang` `optimizations` `semantics` `syntax` `tips`

## Description

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.

## Tags

### Part of an Awesome List

- [Go Programming Books](https://awesome-repositories.com/f/awesome-lists/learning/go-programming-books.md) — Serves as an unofficial, comprehensive guide covering Go syntax, semantics, best practices, and common pitfalls for self-learners. ([source](https://go101.org))
- [Live Code Demonstrations](https://awesome-repositories.com/f/awesome-lists/learning/code-snippets-and-examples/build-time-snippet-extraction/live-code-demonstrations.md) — Extracts and renders runnable Go code snippets from documentation for live in-browser demonstration.

### Content Management & Publishing

- [Static Content Organization](https://awesome-repositories.com/f/content-management-publishing/static-content-organization.md) — Organizes knowledge base content as a hierarchy of Markdown files mapped directly to URL paths.
- [Static Site Generation](https://awesome-repositories.com/f/content-management-publishing/static-site-document-generators/static-site-generators/static-site-generation.md) — Generates a complete offline-ready HTML website from Markdown source files using a build step.

### Development Tools & Productivity

- [Type System Deep Dives](https://awesome-repositories.com/f/development-tools-productivity/go-type-visualization/type-system-deep-dives.md) — Provides in-depth educational content about Go's type system including interfaces, generics, and reflection.
- [Go Type System Guides](https://awesome-repositories.com/f/development-tools-productivity/go-type-visualization/type-system-deep-dives/go-type-system-guides.md) — Provides a comprehensive guide to Go's type system including pointers, structs, interfaces, generics, and reflection. ([source](https://go101.org/details-and-tips/101.html))

### Education & Learning Resources

- [Go Learning Curricula](https://awesome-repositories.com/f/education-learning-resources/deep-learning-curriculum/go-learning-curricula.md) — Provides a structured self-study path for Go, covering syntax, semantics, and advanced topics through tutorials and quizzes.
- [Go Programming Tutorials](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/tutorials-media-curated-lists/technical-tutorials/programming-languages/go-programming-tutorials.md) — Offers structured tutorials and quizzes for learning Go syntax, semantics, and best practices.
- [Go Concurrency Guides](https://awesome-repositories.com/f/education-learning-resources/go-concurrency-guides.md) — Teaches goroutines, channels, synchronization techniques, and common mistakes for safe concurrent programs. ([source](https://cdn.jsdelivr.net/gh/go101/go101@master/README.md))
- [Go Concurrency Training](https://awesome-repositories.com/f/education-learning-resources/go-concurrency-training.md) — Provides educational material specifically focused on goroutines, channels, and parallel execution patterns in Go.
- [Go Language Fundamentals](https://awesome-repositories.com/f/education-learning-resources/go-language-fundamentals.md) — Teaches Go language syntax, semantics, and runtime behavior through structured book content for beginners and experienced programmers. ([source](https://go101.org/details-and-tips/101.html))
- [Compiler and Runtime Studies](https://awesome-repositories.com/f/education-learning-resources/compiler-and-runtime-studies.md) — Explains how the Go compiler and runtime operate, including automatic semicolon insertion and other internal mechanics. ([source](https://go101.org/details-and-tips/101.html))
- [Go Mistake Reference Books](https://awesome-repositories.com/f/education-learning-resources/developer-documentation-references/reference-materials/programming-guides/common-programming-mistakes/go-mistake-reference-books.md) — Explains frequent Go mistakes and subtle bugs with detailed explanations to help avoid them. ([source](https://go101.org))
- [Offline Documentation](https://awesome-repositories.com/f/education-learning-resources/educational-resources/reference-and-media/books-docs-reference/documentation/access-discovery-tools/offline-documentation.md) — Ships a complete programming reference formatted for local access without requiring an active internet connection.
- [Generics Usage Guides](https://awesome-repositories.com/f/education-learning-resources/go-design-pattern-examples/interface-and-generics-design-patterns/generics-usage-guides.md) — Teaches Go's generics system, including type parameters, constraints, and practical usage patterns for writing reusable code. ([source](https://go101.org))

### Programming Languages & Runtimes

- [Go Performance Optimization](https://awesome-repositories.com/f/programming-languages-runtimes/go-performance-optimization.md) — Teaches how to optimize program performance by applying techniques for memory management, concurrency, and compiler optimizations. ([source](https://go101.org))
- [Toolchain Bug Identification Guides](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/ir-based-bug-detection/compiler-bug-detectors/toolchain-bug-identification-guides.md) — Helps identify known bugs and pitfalls in specific Go toolchain versions to avoid or work around them. ([source](https://go101.org/article/acknowledgements.html))
- [Versioned Bug Catalogs](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-infrastructure/intermediate-representations/ir-based-bug-detection/compiler-bug-detectors/versioned-bug-catalogs.md) — Maintains a curated, version-specific list of known Go compiler and runtime bugs with workarounds.
- [Go Memory Optimization](https://awesome-repositories.com/f/programming-languages-runtimes/memory-allocation-optimizations/go-memory-optimization.md) — Teaches how to manage memory blocks, layouts, and leaking scenarios to write memory-efficient Go code. ([source](https://cdn.jsdelivr.net/gh/go101/go101@master/README.md))
- [Curated Q&A Resources](https://awesome-repositories.com/f/programming-languages-runtimes/programming-language-varieties/programming-languages/language-specific-resources/systems-and-performance-languages/go-resources/curated-q-a-resources.md) — Provides a curated collection of frequently asked questions and their detailed answers for Go programming. ([source](https://go101.org/))

### User Interface & Experience

- [Markdown-to-URL Mappings](https://awesome-repositories.com/f/user-interface-experience/tab-selection-mechanisms/url-synced-tabs/view-to-url-mapping/markdown-to-url-mappings.md) — Organizes content as a hierarchy of Markdown files directly mapped to URL paths for navigation.
- [Quiz Components](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-components/quiz-components.md) — Provides interactive quizzes to test and reinforce Go knowledge across various topics and difficulty levels. ([source](https://go101.org))

### Software Engineering & Architecture

- [Client-Side Calculation Engines](https://awesome-repositories.com/f/software-engineering-architecture/client-side-calculation-engines.md) — Ships a client-side JavaScript quiz engine that tests Go knowledge with immediate feedback.
- [Go Best Practices Collections](https://awesome-repositories.com/f/software-engineering-architecture/development-best-practices/go-best-practices-collections.md) — Teaches idiomatic Go coding patterns and project conventions for writing maintainable code. ([source](https://go101.org/article/acknowledgements.html))
- [Details and Tips Collections](https://awesome-repositories.com/f/software-engineering-architecture/development-best-practices/go-best-practices-collections/details-and-tips-collections.md) — Provides over 100 detailed facts and practical tips covering Go syntax, semantics, conversions, and compiler behavior. ([source](https://go101.org/))
- [Educational Cross-References](https://awesome-repositories.com/f/software-engineering-architecture/graph-linking-systems/educational-cross-references.md) — Links related topics, articles, and Q&A entries through a manual or automated reference system.

### Testing & Quality Assurance

- [Interactive Quiz Engines](https://awesome-repositories.com/f/testing-quality-assurance/go-testing-frameworks/interactive-quiz-engines.md) — Ships client-side JavaScript quizzes that test Go knowledge with immediate feedback on syntax and semantics.
