Go¶
Go is a compiled systems language built for concurrent network services: fast compile times, a rich standard library, first-class goroutines and channels, and a minimal surface area. Articles cover the concurrency model (goroutines, channels, select, sync primitives), error-handling idioms that differ from exceptions, interface-driven composition, the net/http toolkit, and production patterns for microservices and database access. Each entry is copy-paste-ready code plus the gotcha you only learn after shipping.
Fundamentals¶
- modules packages - Go modules, packages, dependency management
- Error Handling - Error handling patterns, wrapping, sentinel errors
- interfaces composition - Interfaces, embedding, composition over inheritance
Concurrency¶
- goroutines channels - Goroutines, channels, select, sync primitives
Web & Servers¶
- http servers - HTTP servers, routing, middleware, net/http patterns
Additional References¶
- Go Concurrency - Goroutines, Channels, and Sync - Go's concurrency model - the GMP scheduler, channels, select, synchronization primitives, and
- database patterns - Production database patterns in Go - PostgreSQL with pgx, MongoDB with official driver, Redis
- fundamentals - Core Go language features - type system, slices, maps, pointers, interfaces, closures, and error
- microservices - Production Go microservice patterns - gRPC with protobuf, clean architecture layers, dependency