#Programming Language

156 posts

Go Advanced #2 Memory Model and the sync Package
6 min read

Go Advanced #2 Memory Model and the sync Package

Mutex, RWMutex, WaitGroup, Once, atomic — shared-memory synchronization tools beyond channels. Which to use when.

Go Advanced #1 Concurrency Patterns — fan-out, fan-in, pipeline
8 min read

Go Advanced #1 Concurrency Patterns — fan-out, fan-in, pipeline

Standard concurrency patterns assembled from goroutines and channels — pipeline, fan-out/fan-in, and semaphores.

Go Intermediate #7 Standard Library Tour
7 min read

Go Intermediate #7 Standard Library Tour

Frequently used parts of Go's standard library — io, fmt, strings, time, sort, encoding/json — in one sweep.

Go Intermediate #6 Testing — testing Package and Table-Driven
7 min read

Go Intermediate #6 Testing — testing Package and Table-Driven

Writing unit tests and benchmarks with Go's standard testing package, and the table-driven test pattern that's standard in Go code.

Go Intermediate #5 context.Context in Depth
7 min read

Go Intermediate #5 context.Context in Depth

Go's standard tool for cancellation, timeouts, and request-scoped values. Why context becomes the skeleton of concurrent code.

Go Intermediate #4 select and Timeouts
5 min read

Go Intermediate #4 select and Timeouts

The select statement for handling multiple channels at once, plus practical patterns like timeout, cancellation, and non-blocking communication.

Go Intermediate #3 Goroutines and Channels Intro
7 min read

Go Intermediate #3 Goroutines and Channels Intro

Go's biggest strength — lightweight concurrency. Starting goroutines and communicating via channels, plus the gotchas you'll meet.

Go Intermediate #2 Error-Handling Patterns
8 min read

Go Intermediate #2 Error-Handling Patterns

Error wrapping (%w), errors.Is and errors.As, custom error types, and where panic fits.

Go Intermediate #1 Interfaces — the Meaning of Implicit Implementation
7 min read

Go Intermediate #1 Interfaces — the Meaning of Implicit Implementation

Go interfaces' headline feature — implicit implementation, the small-interface guide, and the empty interface with type assertions and type switch.

Go Basics #7 Packages and Modules (go mod)
7 min read

Go Basics #7 Packages and Modules (go mod)

Go's code organization — splitting by package, importing external packages, and everything about managing dependencies with go mod.

Go Basics #6 Structs and Methods
7 min read

Go Basics #6 Structs and Methods

Defining user types with struct and attaching methods, value vs pointer receivers, and the embedding pattern.

Go Basics #5 Collections — array, slice, map
7 min read

Go Basics #5 Collections — array, slice, map

Go's three collections — fixed-length array, growable slice, key-value map. How they work and the gotchas you'll meet.