net/http, routing with chi or gorilla/mux, middleware, JSON APIs.
Day 3 of Go in 5 Days focuses on http servers. net/http, routing with chi or gorilla/mux, middleware, JSON APIs. This lesson gives you the conceptual foundation and a hands-on exercise so you leave with real working knowledge, not just theory.
Understanding net/http is foundational for everything in this course. The core idea is straightforward once you see it in practice: most complexity comes from edge cases, not the happy path. Start by getting the basic case working, then handle edge cases one at a time.
// HTTP Servers — working example
// Replace these values with your actual data
const example = {
topic: 'net/http',
day: 3,
course: 'Go in 5 Days'
};
// This is where your implementation goes
function implement(config) {
// 1. Validate inputs
if (!config.topic) throw new Error('Topic required');
// 2. Core logic
const result = process(config);
// 3. Return structured output
return result;
}
console.log('Ready to implement net/http');
Once you have the basics, middleware becomes the practical application. The pattern you'll use most often is: configure once, reuse everywhere. Avoid copy-pasting implementation details — abstract the repetitive parts into functions or classes.
Extend today's exercise by adding one feature that wasn't in the instructions. Document what you built in a comment at the top of the file. This habit of going one step further is what separates developers who grow fast from those who stay stuck.