I learned Go in 10 days — here’s exactly what I built and how.
Days 1–2 — Getting Started #
I started by immersing myself in Go. For the first couple of days I watched tutorial videos, read documentation, and practiced the basics of Go syntax for about 6 hours each day. I was pleasantly surprised by how intuitive and simple the language was, making it easy to grasp the fundamentals quickly. ndcconferences.com 1 source 1 NDC Conferencesndcconferences.com
A Tour of Go for the C# Developer — Jeremy Clark, NDC London 2021
Days 3–4 — Building a High-Performance Web Service #
On day three I dived into practical application. I built a web service using Echo, a high-performance framework for Go. Over two days I learned how to use service classes, create custom types, implement middleware for request handling, set up logging, apply rate limiting, render HTML templates, manage user sessions, and implement JWTJWTJSON Web Token — a compact, URL-safe token format used for securely transmitting authentication claims between parties authentication. Wikipedia 1 source 2 JSON Web TokenWikipedia
Echo — High performance, minimalist Go web framework
Days 5–6 — Database Modeling with ENT #
To take my skills further I explored ENT, a code-first approach to database modeling and querying in Go. I dedicated two days to learning how to define database schemas, perform CRUD operations, and use migrations to evolve the schema over time.
ENT — An entity framework for Go
Day 7 — Comparing Database Libraries #
I experimented with different database libraries to understand their trade-offs in features and performance.
- Upper DB — Data access layer for PostgreSQL, CockroachDB, MySQL, SQLite and MongoDB
- GORM — ORM library for Go, aims to be developer friendly Wikipedia+1 2 sources 3 GORM (computing)Wikipedia 4 Object-relational mappingWikipedia
Day 8 — Dynamic Web Pages with HTMX #
Day eight was all about the frontend. I integrated HTMX — a library that lets you access modern browser features directly from HTML — alongside templating and component tools to create dynamic, responsive pages.
Days 9–10 — Full-Stack App with Iris #
For the final leg I tried out Iris, another popular Go web framework. Over two days I built a full-stack web application — covering templating, controllers, JWT authentication, and routing.
Ten days of focused work. Go felt less like learning a new language and more like unlearning habits that other languages had made necessary. I’ll be back with more.