> series: learn go from 0 to 100 | prologue
Heads up
This series is written with the help of artificial intelligence (Claude), cross-checking every technical claim against the official Go documentation (go.dev) and citing the source for every relevant statement. Even so, it doesn’t replace your own judgment: compile it, test it, and be suspicious of any paragraph with no link behind it. Spot an error? Email me at jenniffer@guaduastudio.com or reach out on LinkedIn.
The series’ goal
This series takes you from zero to an advanced level in Go, built for devs who already code in another language (Python, JavaScript, Java…) and want to understand what makes Go idiomatic,not just copy syntax. We cover types and control structures, functions and composition,interfaces, slices and maps from the inside, error handling, pointers, real concurrency with goroutines and channels, testing, and we close with a full project: a framework-free REST API, from design to a Docker deployment.
Every article brings comparisons with Python, JS or Java when they help clarify what’s idiomatic, a practical challenge at the end, and links to the official documentation backing every technical claim.
How it’s organized
- Fundamentals (1-4): installation, types, control flow and functions.
- Types and interfaces (5-8): structs, composition, interfaces and data structures from the inside.
- Errors and concurrency (9-14): error handling, pointers, goroutines, channels and the patterns that combine them.
- Tooling (15-17): modules, testing and the language’s best practices.
- Final project (18-19): a real REST API, from empty folder to a production container.
Series index
Updated as articles get published
- Why Go, installation and hello world -> Published
- Types, variables, constants and iota -> Published
- Control structures: if, for, switch -> Coming soon
- Functions, multiple returns and closures -> Coming soon
- Structs, methods and composition -> Coming soon
- Interfaces: fundamentals and duck typing -> Coming soon
- Advanced interfaces: type assertions and type switch -> Coming soon
- Slices, arrays and maps from the inside -> Coming soon
- Idiomatic error handling -> Coming soon
- Pointers and when to use them -> Coming soon
- Goroutines and the CSP model -> Coming soon
- Channels and select -> Coming soon
- Concurrency patterns -> Coming soon
- Sync, context and cancellation -> Coming soon
- Modules and go mod -> Coming soon
- Testing, benchmarks and tabledriven tests -> Coming soon
- Best practices and idioms -> Coming soon
- Real project (1/2): design and structure -> Coming soon
- Real project (2/2): implementation and deployment -> Coming soon