A hands-on guide to learning the Go programming language through test-driven development principles.
Learn Go with Tests is an open-source educational resource that teaches the Go programming language through test-driven development (TDD). It provides a structured curriculum where learners write tests first to understand Go's features, from basic syntax to building complete web applications. The project solves the problem of learning Go in an effective, practical way that emphasizes testing from the beginning.
Developers new to Go who want to learn the language properly with testing baked in, and experienced developers who want to improve their testing skills in Go. It's particularly useful for teams adopting Go who need a structured learning approach.
Unlike traditional tutorials or books, Learn Go with Tests integrates testing into every learning step, ensuring developers build testable systems from day one. It offers a practical, hands-on approach that moves beyond theory to real application building with Go's standard library.
Learn Go with test-driven development
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Every concept is introduced by writing tests first, as emphasized in the 'Why' section, ensuring learners internalize TDD principles from the start.
Offers a logical progression from Go fundamentals to building real-world applications like HTTP servers with WebSockets, detailed in the Table of Contents.
Guides learners through building complete applications, such as an HTTP server with JSON and routing, providing direct applicability to real development work.
Available as an online GitBook, EPUB, PDF, and in numerous community translations, making it widely accessible across different preferences and languages.
Requires prior knowledge of concepts like variables and functions, as stated in 'What you'll need', which may exclude absolute beginners.
Lacks interactive exercises or video content, relying solely on reading and writing tests, which could reduce engagement for visual or hands-on learners.
Marked as 'work in progress' in the Contributing section, indicating some chapters or updates might be incomplete or subject to change.